如何将现有 pdf 中的内容包含在生成的 pdf 中


How can I include the content from an existing pdf into my generated pdf?

我正在使用 fpdf 作为脚本,以便从我的 sql 数据创建 PDF。 我想在该内容的末尾添加一个词汇表。 我查看了 fpdi,但您只能从 PDF 中添加 1 页。 如何添加所有页面?

来自 FPDI 文档... 请注意第一个参数。

<小时 />

FPDI::importPage()

描述

class FPDI extends FPDF_TPL {
    mixed importPage ( integer $pageno[, string $boxName='/CropBox'] )
}

将源页面转换为FPDF_TPL模板,并返回创建的"模板"(在本例中为页面)的 ID。

参数

$pageno

  • 要导入的页码。

$boxName

  • 应该用于显示导入页面的框。

    可能的值为:

    • /媒体盒
    • /出血盒
    • /修剪框
    • /裁剪框
    • /艺术盒

    如果未找到框,FPDI 将查找其父框并改用此框。您可以检查哪个框是使用 FPDI::getLastUsedPageBox() 导入的。

返回值

如果页面导入正确,该方法将返回模板(页面)的 id 以与 useTemplate() 一起使用。如果在第二个参数中定义了错误的框,该方法将返回 false

使用循环单独导入每个页面怎么样?

应该不难获得页数然后循环浏览页面。

$pagecount = $pdf->setSourceFile('yourpdf.pdf'); 
// import pages
for ($loop = 1; $loop <= $pagecount; $loop++) {
    $tplIdx = $pdf->importPage($loop);
    $pdf->addPage();
    $pdf->useTemplate($tplIdx);
}