当前位置: 首页 > 知识库问答 >
问题:

在PHP7.3中将PDF文件的页面提取为新的PDF文件

汝繁
2023-03-14

我有一个PDF文件,我想创建两个新的文件的基础上,原来的文件。第一个新文件应该得到原始文件的第1、2和4页,第二个新文件应该得到原始文件的第3页。在PHP7.3中这样做的最好方法是什么?我在这里发现了一个旧库,但我不想把这样一个旧库添加到我的代码中。在此基础上,我找到了一些云解决方案,但这也不是我想要的。没有简单的“现代”解决方案吗?

共有1个答案

鄢朝斑
2023-03-14

我以前用Mpdf处理过一个相等的问题。您可以通过以下操作轻松创建新的pdf文档和导入pdf的现有页面:

<?php

$sourceFilePath = '/tmp/my-pdf-with-4-pages.pdf';
$destinationFilePath = 'output/my-pdf-with-3-pages.pdf';
  
$mpdfConfig = [];
$mpdf = new Mpdf($mpdfConfig);

// $mpdf->SetImportUse(); only necesseray for mpdf >=4 && <8
$pageCount = $mpdf->setSourceFile($sourceFilePath); // number of pages in your source pdf file 

$pageNumbersToImport = [1,2,3];
$pageNumbersToImportCount = count($pageNumbersToImport);

// importing pages defined in $pageNumbersToImport
for ($pageNumber = 1; $pageNumber <= $pageCount; $pageNumber++) {
  if (!in_array($pageNumber, $pageNumbersToImport, true)) {
    continue;
  }
  
    $templateId = $mpdf->ImportPage($pageNumber); // get page content of page number as template of source pdf file
  $mpdf->UseTemplate($templateId); // add page number of source file to current mpdf generated file
  
  if ($pageNumber < $pageNumbersToImportCount) {
    $mpdf->AddPage(); // add empty page
  }
}

$mpdf->Output($destinationFilePath, 'F'); // write new pdf file, with pages 1-3 of source file



 类似资料:
  • 我正在尝试使用表单识别器-Azure认知服务从pdf文件中提取文本。我使用的是定制模型,我用我的模型训练这项服务,然后尝试提取数据。 我的PDF通常有超过1页。但是我对从第一页提取文本感兴趣。Rest所有页面没有任何重要性。 那么,有没有什么方法可以训练我的系统通过给出页码从选定的页面中提取文本? 祝好 玛杜

  • 问题内容: 我想要一个多页的pdf文件,并每页创建单独的pdf文件。 我已经下载了reportlab并浏览了文档,但它似乎是针对pdf生成的。我还没有看到有关处理PDF文件本身的任何信息。 有没有一种简单的方法可以在python中做到这一点? 问题答案: 等等

  • 问题内容: 我最后生成目录,我想在开始时移动目录。假设我的PDF中有16页,并且TOC从第13页开始到第15页结束。我想将TOC移到第二页,以便第一页保留为第1页,最后一页保留为第16页。这段代码没有给我我想要的东西: 请提出一些解决方案。 问题答案: 您的公式是错误的。你有: 但这会将您的目录放在第一页。根据您的描述,这不是您想要的。 您想要这样的东西: 此代码使用测试ReorderPage在1

  • 我想将扫描的pdf文件转换为文本可搜索的pdf文件。我想给一个输入扫描的PDF然后我的预期输出是可搜索的PDF。 很少有工具可以将扫描的pdf文件中的文本作为输出,但我希望可以搜索文本的pdf文件作为输出,而不仅仅是文本。 我在这里搜索了一下,找到了一个解决方案,但我的生产服务器是amazon centos,这个工具的安装只适用于ubuntu,不适用于amazon centos。 如果需要,我准备

  • 我有一个pdf,里面总共有6页的图片。我想将第1页和第2页合并为单个pdf,以此类推,共3到6页。 我将所有6页的pdf拆分为单独的pdf。 从PyPDF2导入操作系统导入PdfFileReader、PdfFileWriter pdf_splitter: fname=os.path.splitext(os.path.basename(path))[0] if name=='main': path=

  • 问题内容: 我正在尝试使用提取此 PDF文件中包含的文本。 我正在使用PyPDF2模块,并具有以下脚本: 运行代码时,得到以下输出,该输出与PDF文档中包含的输出不同: 如何提取PDF文档中的文本? 问题答案: 要从PDF提取文本,请使用以下代码