[英]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)。
目的地在哪里發送文件。 它可以采用以下值之一:
- 我:將文件內聯發送到瀏覽器。 如果可用,則使用插件。 當生成PDF的鏈接上選擇“另存為”選項時,將使用名稱給出的名稱。
- D:發送到瀏覽器並使用名稱給出的名稱強制下載文件。
- F:保存到名稱為name的本地文件(可能包含路徑)。
- S:將文檔作為字符串返回。 名稱被忽略。
因此,如果要將文件內容傳遞給變量,請使用:
$pdf_file_contents = $pdf->Output("","S");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.