php - 在php中创建pdf文件然后合并第二个文件
问题描述
我正在使用 fpdf 创建一个 pdf 文件。这涉及两个步骤:
第 1 步:我从数据库中获取一些数据,例如用户标识和其他用户详细信息,并将其放入新生成的 pdf 文件中。新生成的文件在创建时存储在服务器上。
第 2 步:我有一个不同的 pdf 文件,其中包含图像和一份针对用户的问卷。我必须将此文件合并到第一个文件。我为此使用了 fpdf Merge,其中指定了两个文件的路径。
用于执行以下操作的代码如下:
<?php
date_default_timezone_set("Asia/Calcutta");
require_once 'fpdf/fpdf.php';
require_once('fpdf/fpdf_merge.php');
$dt1 = "Generated on " .date("d/m/Y") . " at " .date("h:i:sa");
$filename = NULL;
$filename1 = "/home/server/public_html/qp/1/pdfwork/example1.pdf";
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',8);
$pdf->Cell(40,10,'This is a great world!');
$pdf->Cell(150,10, $dt1 );
$pdf->Output('F', $filename, true); // save into the folder of the script
//now lets merge the 2 files
$merge = new FPDF_Merge();
$merge->add('/home/server/public_html/qp/1/pdfwork/example1.pdf');
$merge->add('/home/server/public_html/qp/1/pdfwork/sample_pdf.pdf');
$merge->output();
?>
当我执行代码时,出现以下错误:
致命错误:未捕获的异常:在 /home/is10live/public_html/qp/1/fpdf/fpdf_merge.php:74 中引用 d'object inconnue
堆栈跟踪:
#0 /home/is10live/public_html/qp/1/fpdf/fpdf_merge。 php(181): FPDF_Merge->error('reference d'obj...')
#1 /home/is10live/public_html/qp/1/fpdf/fpdf_merge.php(615): FPDF_Merge->getObject(Resource id # 8, Array, '1')
#2 /home/is10live/public_html/qp/1/tpdf.php(23): FPDF_Merge->add('/home/is10live/...')
#3 {main} 抛出在第 74 行的 /home/is10live/public_html/qp/1/fpdf/fpdf_merge.php
但是,当我将类似的文件合并为生成的文件时,它可以完全正常工作并生成文件。
我对此一无所知。任何帮助和指导将不胜感激
解决方案
除非您添加了测试代码,否则它似乎是一个错字。$filename 是一个空变量,所以$pdf->Output('F', $filename, true);
应该是$pdf->Output('F', $filename1, true);
.
推荐阅读
- javascript - onClick输入框,聚焦输入框并覆盖在屏幕上
- azure-devops - 在 ADO 中将“管道”重命名为“构建”
- node.js - 在不等待 promise 解决的情况下对数据库进行异步调用
- macos - 创建启动另一个应用程序的缩放(Mac 桌面)插件
- python - 使用 python/pandas 将唯一值与特定列及其字段匹配
- css - 顺风对齐项目
- javascript - 角度嵌套模块未加载嵌套路由器出口
- r - 在for循环内计数nrow的R问题
- python - ruamel.yaml:将注释固定到下一个数据项而不是前一个
- reactjs - 重新选择的createSelector:它是否对嵌套对象进行深度比较?