我正在尝试打开PDF并使用此库向其中添加文本:
https://www.setasign.com/products/fpdi/downloads/
这是演示代码:
https://www.setasign.com/products/fpdi/demos/simple-demo/#p-283
我已经在这里待了好几天了,而且我已经结束了。关于无法找到此文件或未定义该类的问题,这是一系列不间断的错误。有一种简单的方法可以只包含一个类文件并开始使用它吗?使用Composer似乎把很多文件放在一起,我几乎无法理解我应该做什么。
提前非常感谢你。
答案 0 :(得分:0)
我会在这里尝试回答你的问题,因为我也在努力解决同样的事情。
所以,我开始下载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
}
}
我希望这会对你有所帮助。