我正面临一个问题,同时编辑现有的pdf。这里我有一个pdf,我只是想添加一个雇员的名字在每一页的第一行pdf。但是,当我尝试使用fpdf和fpdi来完成这个操作时,它将保存带有员工姓名的新pdf,并且所有其他数据都已从pdf中删除。这是我用来编辑和保存pdf的代码。
<code>
<?php
define('FPDF_FONTPATH','font/');
require_once('fpdf.php');
require_once('fpdi.php');
$pdf = new FPDI();
// add a page
$pdf->AddPage();
// set the sourcefile
$pagecount = $pdf->setSourceFile('upload/linebreak.pdf');
// import page 1
$tplidx = $pdf->importPage(1);
for ($i = 1; $i < $pagecount; $i++) { 
              $tplidx = $pdf->ImportPage($i); 
                     $pdf->useTemplate($tplidx, 10, 10, 200);
                     $pdf->AddPage();
                     $pdf->SetFont('Arial');
                     $pdf->SetTextColor(0,0,0);
                     $pdf->SetFontSize(8);
                     if ($i>=1) {
                        //$pdf->SetXY(50, 124);
                        $pdf->Write(1, "Emp Name : Sanjay Singh");
                     }
                }
$pdf->Output("upload/new_linebreak_pdf.pdf", "F");
?>
<code>我的linebreak.pdf有这样的数据(这是我们organization..........This的雇员规则,organization......This是我们的雇员规则,organization.....This是员工规则,organization....This是组织的雇员规则)
在这一点上,我想在第一行中添加一个雇员姓名,但是在编辑之后,它将生成像这样的新pdf (Emp名称: Sanjay ),在这里,其他已经属于它们的数据将被删除。
提前谢谢!
发布于 2015-05-06 13:11:30
您的问题是您正在以错误的顺序调用FPDI的方法。以下是要采取的步骤:
下面是一个简单的代码示例,说明了上述概念。我已经测试了这个,并得到了预期的输出。
$pdf = new FPDI();
$pageCount = $pdf->setSourceFile('file.pdf');
//  Iterate through every page
for( $pageNo=1; $pageNo<=$pageCount; $pageNo++ )
{
    //  Import page
    $templateId = $pdf->importPage($pageNo);
    $pdf->getTemplateSize($templateId);
    $pdf->addPage('P');
    $pdf->useTemplate($templateId);
    //  Modify page
    $pdf->SetFont('Arial');
    $pdf->SetTextColor(0,0,0);
    $pdf->SetFontSize(8);
    $pdf->Text(50,124,"Emp Name : Sanjay Singh");
}
$pdf->Output("upload/new_linebreak_pdf.pdf", "F");https://stackoverflow.com/questions/21747266
复制相似问题