簡體   English   中英

如何返回pdf對象而不是使用fpdf保存

[英]How to return a pdf object instead of saving using fpdf

我需要創建一個pdf文件並通過POST請求發送到服務器。 為了創建pdf,代碼非常簡單

require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output("mypdf.pdf");

對於POSTing,我通過閱讀pdf文件

$file_contents = file_get_contents("mypdf.pdf");

有沒有辦法我不必首先寫入文件,然后從中回讀? 一些做法

$file_contents = $pdf->Output();

如果我正確地得到了問題,你想要數據流嗎?

如果是這樣, Output()接受2個參數, name and destination S作為目標參數發送將返回pdf數據的string

所以,保持你的代碼

require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$file_contents = $pdf->Output("mypdf.pdf","S");

資源

每個fdf Output()文檔:

Output([string name, string dest])

名稱

文件的名稱。 如果未指定,則文檔將以名稱doc.pdf發送到瀏覽器(目標I)。

DEST

目的地在哪里發送文件。 它可以采用以下值之一:

  • 我:將文件內聯發送到瀏覽器。 如果可用,則使用插件。 當生成PDF的鏈接上選擇“另存為”選項時,將使用名稱給出的名稱。
  • D:發送到瀏覽器並使用名稱給出的名稱強制下載文件。
  • F:保存到名稱為name的本地文件(可能包含路徑)。
  • S:將文檔作為字符串返回。 名稱被忽略。

因此,如果要將文件內容傳遞給變量,請使用:

$pdf_file_contents = $pdf->Output("","S");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM