在说之前,先说明一下,FPDI 插件,不能操作被 pdf 软件编辑过的 pdf 文件。
在我们写项目的时候,经常需要对PDF文件进行操作。例如:合并多个PDF文件,取PDF特定页数以及合并。
PHP 有一个专门对PDF进行操作的插件,SETASIGN,官方文档为:
https://www.setasign.com/products/fpdi/demos/simple-demo/
首先,我们要先下载,该插件支持composer下载,具体的操作步骤,请看文档下载:
https://packagist.org/packages/setasign/fpdi
下面实现这些功能,上代码:
实现选取多个PDF文件的特定页数,进行合并

<?php
use setasign\Fpdi\Tcpdf\Fpdi;//选取多个PDF,取第一页导出新的PDFfunction  selectionFirstPageToNewPdf($pdf_road_datas){$pdf = new Fpdi();// 載入現在 PDF 檔案for($i = 0; $i < count($pdf_road_datas); $i++){$pdf->setSourceFile($pdf_road_datas[$i]);    //该方法的返回值为,PDF总页数$tpl = $pdf->importPage(1);                  //取出PDF第一页$pdf->addPage();                             //添加到新的PDF上$pdf->useTemplate($tpl);                     // 在新增的頁面上使用匯入的第一頁// 輸出成本地端 PDF 檔案}/*** 默认是I:在浏览器中打开,D:下载,F:在服务器生成pdf* S:只返回pdf的字符串,个人感觉无实在意义*/$pdf->output("merge-articals.pdf", "D");// 結束 FPDI 剖析器$pdf->closeParsers();return;}

实现选取多个PDF文件进行合并:

<?php
use setasign\Fpdi\Tcpdf\Fpdi;//拼接多个PDFfunction selectionSplicingToNewPdf($pdf_road_datas){// 建立 FPDI 物件$pdf = new Fpdi();// 載入現在 PDF 檔案for($i = 0; $i < count($pdf_road_datas); $i++){$page_count = $pdf->setSourceFile($pdf_road_datas[$i]);for($pageNo = 1; $pageNo <= $page_count; $pageNo++){//一页一页的读取PDF,添加到新的PDF$templateId = $pdf->importPage($pageNo);$size = $pdf->getTemplateSize($templateId);$pdf->AddPage($size['orientation'], $size);$pdf->useTemplate($templateId);$pdf->SetFont('Helvetica');$pdf->SetXY(5, 5);}}$pdf->output("merge-pdf.pdf", "D");// 結束 FPDI 剖析器$pdf->closeParsers();return ;}

SETASIGN,这个PHP插件还有很多功能,具体的后续学习,可以看看官方文档。

PHP fpdi合并多个PDF文件,取多个PDF特定页数合并以及导出相关推荐

  1. 将 PDF 文件拆分为多个同样页数 pdf 文件的 Windows Powershell 脚本

    先从网上下载免费的 pdftk 命令行工具 官网 https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ 的安装版或者某些下载网站的绿色版都可以 先打 ...

  2. 金山词霸在IE调用的PDF文件取词问题(摘自sothic)

    金山词霸可以在acrobat reader或者专业版中取词,但是在IE打开一个PDF文件时,金山词霸将PDF文件视为一幅图片,无法取词.从一开始到金山词霸2009,金山词霸都没能解决这个问题.现在有一 ...

  3. 如何一键免费压缩PDF文件?最好的 PDF 阅读器免费下载!

    PDF(便携式文档格式)是一种独立于应用程序和平台的通用文件格式.它确保不同的用户可以在各种软件.硬件或操作系统中接收具有相同格式和视觉呈现的相同内容.您还可以在需要时对 PDF 进行电子签名.因此, ...

  4. Itext生成pdf文件,itext+Freemarker生成pdf,(中文空白解决)

    来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...

  5. 分享一款手机端的PDF文件编辑软件「PDF处理助手」简单、免费

    今天给大家来一款手机端的PDF文件编辑神器,"PDF处理助手",不过这款软件目前只有Android端的喔,ios的小伙伴有需要的话可以直接去Appstore搜索[pdf]下载相关的 ...

  6. 如何编辑PDF文件,怎么修改PDF中的文字

    相信大家都使用过PDF文件,那么有没有编辑过PDF文件呢,PDF文件的编辑是需要借助PDF编辑器的,PDF文件中的文字要怎么修改呢,Word文档的文字就直接编辑,而PDF文件并非这样,想知道怎么编辑吗 ...

  7. Py:利用pyautogui实现自动将pdf文件(需手动设定pdf总页数)自动翻页并截取另存为图片形式,或自动隔0.1秒自动截笔记本全屏保存到指定文件夹

    Py:利用pyautogui实现自动将pdf文件(需手动设定pdf总页数)自动翻页并截取另存为图片形式,或自动隔0.1秒自动截笔记本全屏保存到指定文件夹 目录 实现步骤和结果 核心代码 实现步骤和结果 ...

  8. JAVA删除pdf空白页_如何编辑PDF文件,如何删除PDF文档中的空白页

    时代在发展,科技在进步,我们现在日常使用的文件也发展了,以前只有Word跟TXT,现在还增加了一个PDF格式的文件,但PDF格式的文件跟Word和TXT文件不一样,Word跟TXT文件可以直接的打开编 ...

  9. 服务器上pdf文档无法删除,怎么对PDF文件进行编辑,PDF怎么删除空白页

    随着PDF文件越来越受大家的欢迎,PDF文件的修改编辑是需要用到PDF编辑器的,不知道大家在使用PDF文件的时候,编辑文件之后有没有文件中有页面需要删除的情况,在编辑文件的时候如果遇到文件中有页面需要 ...

最新文章

  1. 如果你是C开发人员请看这三个显式编程技巧
  2. K8S部署Kuboard V3
  3. Nginx安装方式介绍
  4. 语言中的petchar运用_还在担心你家孩子发音、语言问题?12个表现、3个预防是重点...
  5. android: 记录及回复lisView的位置
  6. 公众号发布代码最好的工具markdown语法
  7. 为防盗装自动门 不想也会影响生活
  8. 牛客网–华为机试在线训练4:字符串分隔
  9. IEWebBrowser
  10. 基于双向长短期记忆神经网络【biLSTM】模型的污染数据预测实战
  11. tween andr_安装Android Studio并在Android Studio上创建新的Android项目
  12. 智能卡APDU的命令及其解析
  13. java如何实现识别图片上的文字
  14. 请问投稿中要求上传的author_投稿须知Author lnstruction 解读(中)
  15. 颜色恒常性评价指标——角度误差【弧度角度】避坑
  16. 30万条弹幕大军都推荐你去看的《山海情》,是怎样一部最搞笑最土味的扶贫剧
  17. 新松机器人袁_新松机器人三大创新技术在2018 Automatica盛大发布
  18. 辽宁省重大装备中心船舶与核产业部部长胡新文一行莅临云创
  19. 《微信小程序案例10》后端服务器与mysql数据库与前端微信小程序
  20. python中1代表什么意思_python中::-1代表什么?

热门文章

  1. ST MCSDK 初探
  2. 少儿学编程系列 --- 如何让ChatGPT使用turtle画画
  3. Python编写程序计算如下的分段函数
  4. html+css仿QQ邮箱静态界面
  5. 华人捕鱼可不可以把死鱼的几率调试的简单一点
  6. MySQL 后端程序员必知优化!
  7. 今日收获总结 (前端知识点3)
  8. android德地图点聚合,点聚合-点标记-示例中心-JS API 示例 | 高德地图API
  9. 基于京东micro-app微前端框架的项目实践
  10. LDO和BUCK降压稳压器对比