[英]Using FPDI to open a PDF and write text to it
我正在嘗試打開PDF並使用此庫向其中添加文本:
https://www.setasign.com/products/fpdi/downloads/
這是演示代碼:
https://www.setasign.com/products/fpdi/demos/simple-demo/#p-283
我已經待了好幾天了,我的機智已經終結了。 關於找不到該文件或未定義該類,這是一連串的錯誤。 是否有簡單的方法來僅包含一個類文件並開始使用它? 使用Composer似乎在各處放置了許多文件,以至於我幾乎無法理解我應該做什么。
提前非常感謝您。
我將在這里嘗試回答您的問題,因為我也遇到了同樣的問題。
因此,我首先下載了FPDI,您已經完成了。 經過努力並弄清楚為什么我無法使它正常工作之后,我發現我缺少另一個庫。 因此,請轉到此處: FPDF
下載該文件並將其包含在同一個文件夾中並包含它之后,您應該會很好。 例如:
require_once("_include/fpdf/fpdf.php");
require_once("_include/fpdi/src/autoload.php");
use setasign\Fpdi\Fpdi;
將其放在文件頂部后,您可以嘗試類似的操作:
$newfname = 'tempFile'.date("Y-m-d h:m:s").'.pdf';
$file = fopen ($url, 'rb');
if ($file) {
$newf = fopen ("_data/$newfname", 'wb');
if ($newf) {
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 8), 1024 * 8);
}
}
}
if ($file) {
fclose($file);
}
if ($newf) {
fclose($newf);
}
$pdfName = $filename.".pdf";
$file = fopen("_data/$newfname", 'rb');
if($file) {
$newPdfF = fopen("_data/$pdfName", 'wb');
if($newPdfF) {
// Now let us use this file to try and remove the bottom logos.
$pdf = new Fpdi();
$pageCount = $pdf->setSourceFile($file);
// Iterate through our pages
for($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
// import our page
$templateId = $pdf->importPage($pageNo);
// Add our new page
$pdf->AddPage();
$pdf->useTemplate($templateId, ['w'=>200, 'h'=>200]);
$pdf->SetFont('Helvetica');
$pdf->setX(170);
$pdf->Write(0, $fileDateRun); // For writing text
$pdf->Image('images/image.png', 0, 257); // For writing an image
}
$pdf->Output('D', "_data/$pdfName");
unlink("_data/$newfname"); // delete temp file
unlink("_data/$pdfName"); // delete the other temp file
}
}
我希望這可以幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.