将现有 pdf 添加到 fpdf

发布于 2024-10-11 05:39:17 字数 154 浏览 5 评论 0原文

我是否可以调用任何函数来将现有的 pdf 包含在我的 fpdf 文件中?

例如

$pdf->AddPage(from file example.pdf);

类似的事情?有可能吗?

Is there any function that I could call in order to include an existing pdf in my fpdf file?

For example

$pdf->AddPage(from file example.pdf);

something like that? is it posible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神回复 2024-10-18 05:39:17

这个问题的答案是 FPDF 需要通过额外的库来增强。

其中一个“免费”PHP 库是 MIT 授权的“Setasign”FPDI,它增强了 FPDF

但也可以与 TCPDF 和 tFPDF 一起使用。您需要安装您选择的 PDF 生成库以及 FPDI。

FPDI 是 PHP 类的集合,可帮助开发人员从现有 PDF 文档中读取页面并将其用作 FPDF 中的模板。

更多详细信息和下载位置可通过
https://www.setasign.com/products/fpdi/downloads

开发存储库FPDI 的“问题”支持可在 GitHub 上找到:https://github.com/Setasign/FPDI

FPDI 也可以通过 Composer 安装。相关的包可以在 Packagist 上找到。

与该问题相关的代码示例:

<?php

require_once('fpdf/fpdf.php');
require_once('fpdi2/src/autoload.php');

$pdf = new \setasign\Fpdi\Fpdi();

$pageCount = $pdf->setSourceFile('Fantastic-Speaker.pdf');
$pageId = $pdf->importPage(1, \setasign\Fpdi\PdfReader\PageBoundaries::MEDIA_BOX);

$pdf->addPage();
$pdf->useImportedPage($pageId, 10, 10, 90);

$pdf->Output('I', 'generated.pdf');

如果您希望将多个 PDF 嵌入到“Portfolio”中,则需要使用 SetaPDF-Merger,它不是“免费”,请参阅 https://manuals.setasign.com/setapdf-merger-manual/portfolios/

The Answer to this Question is that FPDF needs boosting by means of an additional library.

One such "Free" PHP library is MIT licensed "Setasign" FPDI which enhances FPDF

but can also be used with TCPDF and tFPDF. You need to install the PDF generation library of your choice along with FPDI.

FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF.

More details and a download location are available via
https://www.setasign.com/products/fpdi/downloads

The development repository and "Issues" support of FPDI is available on GitHub at https://github.com/Setasign/FPDI

FPDI can also be installed via Composer. The related package is available on Packagist.

A code example related to the question:

<?php

require_once('fpdf/fpdf.php');
require_once('fpdi2/src/autoload.php');

$pdf = new \setasign\Fpdi\Fpdi();

$pageCount = $pdf->setSourceFile('Fantastic-Speaker.pdf');
$pageId = $pdf->importPage(1, \setasign\Fpdi\PdfReader\PageBoundaries::MEDIA_BOX);

$pdf->addPage();
$pdf->useImportedPage($pageId, 10, 10, 90);

$pdf->Output('I', 'generated.pdf');

If you wish to embed multiple PDFs into a "Portfolio" you would need to use SetaPDF-Merger Which is NOT "Free" see https://manuals.setasign.com/setapdf-merger-manual/portfolios/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文