首页 > 解决方案 > 在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

但是,当我将类似的文件合并为生成的文件时,它可以完全正常工作并生成文件。

我对此一无所知。任何帮助和指导将不胜感激

标签: phppdf-generationfpdf

解决方案


除非您添加了测试代码,否则它似乎是一个错字。$filename 是一个空变量,所以$pdf->Output('F', $filename, true);应该是$pdf->Output('F', $filename1, true);.


推荐阅读