PHP fpdi合并多个PDF文件,取多个PDF特定页数合并以及导出
在说之前,先说明一下,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特定页数合并以及导出相关推荐
- 将 PDF 文件拆分为多个同样页数 pdf 文件的 Windows Powershell 脚本
先从网上下载免费的 pdftk 命令行工具 官网 https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ 的安装版或者某些下载网站的绿色版都可以 先打 ...
- 金山词霸在IE调用的PDF文件取词问题(摘自sothic)
金山词霸可以在acrobat reader或者专业版中取词,但是在IE打开一个PDF文件时,金山词霸将PDF文件视为一幅图片,无法取词.从一开始到金山词霸2009,金山词霸都没能解决这个问题.现在有一 ...
- 如何一键免费压缩PDF文件?最好的 PDF 阅读器免费下载!
PDF(便携式文档格式)是一种独立于应用程序和平台的通用文件格式.它确保不同的用户可以在各种软件.硬件或操作系统中接收具有相同格式和视觉呈现的相同内容.您还可以在需要时对 PDF 进行电子签名.因此, ...
- Itext生成pdf文件,itext+Freemarker生成pdf,(中文空白解决)
来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...
- 分享一款手机端的PDF文件编辑软件「PDF处理助手」简单、免费
今天给大家来一款手机端的PDF文件编辑神器,"PDF处理助手",不过这款软件目前只有Android端的喔,ios的小伙伴有需要的话可以直接去Appstore搜索[pdf]下载相关的 ...
- 如何编辑PDF文件,怎么修改PDF中的文字
相信大家都使用过PDF文件,那么有没有编辑过PDF文件呢,PDF文件的编辑是需要借助PDF编辑器的,PDF文件中的文字要怎么修改呢,Word文档的文字就直接编辑,而PDF文件并非这样,想知道怎么编辑吗 ...
- Py:利用pyautogui实现自动将pdf文件(需手动设定pdf总页数)自动翻页并截取另存为图片形式,或自动隔0.1秒自动截笔记本全屏保存到指定文件夹
Py:利用pyautogui实现自动将pdf文件(需手动设定pdf总页数)自动翻页并截取另存为图片形式,或自动隔0.1秒自动截笔记本全屏保存到指定文件夹 目录 实现步骤和结果 核心代码 实现步骤和结果 ...
- JAVA删除pdf空白页_如何编辑PDF文件,如何删除PDF文档中的空白页
时代在发展,科技在进步,我们现在日常使用的文件也发展了,以前只有Word跟TXT,现在还增加了一个PDF格式的文件,但PDF格式的文件跟Word和TXT文件不一样,Word跟TXT文件可以直接的打开编 ...
- 服务器上pdf文档无法删除,怎么对PDF文件进行编辑,PDF怎么删除空白页
随着PDF文件越来越受大家的欢迎,PDF文件的修改编辑是需要用到PDF编辑器的,不知道大家在使用PDF文件的时候,编辑文件之后有没有文件中有页面需要删除的情况,在编辑文件的时候如果遇到文件中有页面需要 ...
最新文章
- 如果你是C开发人员请看这三个显式编程技巧
- K8S部署Kuboard V3
- Nginx安装方式介绍
- 语言中的petchar运用_还在担心你家孩子发音、语言问题?12个表现、3个预防是重点...
- android: 记录及回复lisView的位置
- 公众号发布代码最好的工具markdown语法
- 为防盗装自动门 不想也会影响生活
- 牛客网–华为机试在线训练4:字符串分隔
- IEWebBrowser
- 基于双向长短期记忆神经网络【biLSTM】模型的污染数据预测实战
- tween andr_安装Android Studio并在Android Studio上创建新的Android项目
- 智能卡APDU的命令及其解析
- java如何实现识别图片上的文字
- 请问投稿中要求上传的author_投稿须知Author lnstruction 解读(中)
- 颜色恒常性评价指标——角度误差【弧度角度】避坑
- 30万条弹幕大军都推荐你去看的《山海情》,是怎样一部最搞笑最土味的扶贫剧
- 新松机器人袁_新松机器人三大创新技术在2018 Automatica盛大发布
- 辽宁省重大装备中心船舶与核产业部部长胡新文一行莅临云创
- 《微信小程序案例10》后端服务器与mysql数据库与前端微信小程序
- python中1代表什么意思_python中::-1代表什么?