所以在浏览了许多软件包如TCPDF,FPDP,DOM2PDF和许多其他优秀的php pdf软件包后,我无法在任何允许按页面范围拆分pdf文件的软件包中找到此功能。例如,我想从第20-100页或第30-50页拆分pdf。或者从第20-100页的pdf创建pdf。那么有没有这个功能的图书馆?
答案 0 :(得分:1)
PDFMerger具有此功能,我个人很喜欢它的简单性。
$pdf = new PDFMerger;
$pdf->addPDF('pdf1.pdf','20-100');
$pdf->addPDF('pdf2.pdf','30-50');
$pdf->merge(); // output PDF, you can specify additional parameters here
答案 1 :(得分:0)
$new_pdf = new setasign\Fpdi\FPDI();
for($i = 20; $i <= 200; $i++){
$new_pdf->AddPage();
$new_pdf->setSourceFile("source.pdf");
$new_pdf->useTemplate($new_pdf->importPage($i));
}
$new_pdf->Output("output.pdf", "F");
答案 2 :(得分:0)
如果 pdf 版本 > 1.4 有任何其他问题,并且您想拆分 pdf 避免使用 FPDI 或任何其他 php 库,您可以使用以下完美的选项:
https://www.ubuntubuzz.com/2016/01/how-to-split-pdf-with-pdfseparate.html
这是一个非常简单的命令行
拆分所有页面
pdfseparate <source_pdf_file> <name>-%d.pdf
仅拆分所选页面
pdfseparate -f 1 -l 3 <source_pdf_file> <name>-%d.pdf
仅拆分第一页
pdfseparate -f 1 -l 1 <source_pdf_file> <name>-%d.pdf
仅拆分最后一页
pdfseparate -f 8 -l 8 <source_pdf_file> <name>-%d.pdf
我已经在我的本地环境中使用 homestead vagrant 和在 ubuntu 18,16 的生产环境中测试了该命令。效果很好,比 gs(ghost 脚本)更好。