添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在说之前,先说明一下,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文件的特定页数,进行合并

use setasign \ Fpdi \ Tcpdf \ Fpdi ; //选取多个PDF,取第一页导出新的PDF function 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文件进行合并:

use setasign \ Fpdi \ Tcpdf \ Fpdi ; //拼接多个PDF function 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插件还有很多功能,具体的后续学习,可以看看官方文档。

'aliases' => [ . . . ' PDF Merger' => Webklex \ PDF Merger \ Facades \ PDF MergerFacade ::class 基本用法示例: use Webklex \ PDF Merger \ Facades \ PDF MergerFacade as PDF Merger ; $ oMer 我知道在这方面有很多线索,我已经尝试了所有人,并且无法使其中一个工作 .在SO线程中:@Sygmoral的这个片段听起来好像应该有效(我添加了Output()行,路径/ 文件 是我的):require_once('tc pdf /tc pdf . php ');require_once(' fpdi / fpdi . php '); // the addon// FPDI extends the TC PDF class, s... 前几天客户提出一个需求,就是在前台页面搜索文章时,若搜索词在文章附件的 pdf 文件 中有出现的话就要将该文章作为搜索结果。我的思路是后台发布文章时循环检测每一个附件的格式,若附件格式为 pdf 的话就将里面的文字读 出来 追加到一个$string变量里,然后将$string的作为一个file_text字段的信息保存到数据库后面做搜索的时候使用。 我参考的一个回答地址是:https://baijiahao...... 实际工作中,我们要使用 PHP 动态的创建 PDF 文档,目前有许多开源的 PHP 创建 PDF 的类库,今天我给大家来介绍一款优秀的 PDF 库,它就是TC PDF ,TC PDF 是一个用于快速生成 PDF 文件 PHP 5函数包。TC PDF 基于F PDF 进行扩展和改进,增强了实用功能。特性TC PDF 具有以下特性:1、支持页面页脚;2、支持HTML标签代码;3、支持jpg/png/gif/svg图形图像;4、支持表格;5、支持中... PHP 使用tc pdf 类生成 PDF 文件 龙行 PHP 2019-5-644420评论使用pctdf生成的 pdf 文件 可以插入图片、HTML、链接、表格、柱状图折线图等 PHP 动态生成 PDF 的功能。require_once './tc pdf /tc pdf . php ';//实例化$content = '我是一个 pdf '; //你要生成的 PDF 内容$ pdf = new TC PDF ('P... 下载后,解压,然后把它放进去扩展目录中\vendor\ set a sign fpdi 文件 中引入对应 PDF _Chinese 文件 ,打开/jyshop/vendor/ set a sign / fpdi /src/F pdf Tpl. php 更改代码如下... 第一个:TC PDF 这个TC PDF 上网有直接下载的地址,我用的是tp3.2框架,TC PDF 给我手写了一个 pdf 出来很棒!! 第二个: FPDI ,下面是 FPDI 合并 pdf 的代码 namespace Qwadmin\Controller; //导入TC PDF 类库 use TC PDF ; require_once('tc pdf /config... 本文实例讲述了think php 框架整合tc pdf 插件操作。分享给大家供大家参考,具体如下:网上查了些关于tc pdf 使用教程,整合到tp的话,会有些小问题,由于基础还不是很扎实,花了点时间终于整合ok了。下面介绍步骤:环境:tp版本:tp3.2.2tc pdf :tc pdf _6_2_3步骤:1. 将tc pdf _6_2_3.zip解压在web root目录下面,把examples 文件 夹下面的tc pdf _... * PDF 文件 加水印 * composer命令安装:composer require set a sign /f pdf * composer命令安装:composer require set a sign / fpdi public function add_water($type = 1){ $ pdf = new Fpdi (); $file = 'Upload/all_to_path/report_file/FA065307C8FF0236FC2002DAA098D439. pdf ' 4 * @param filePath 5 * @return Map<String, List<Map<String, String>>> 6 * @author 龙谷情 7 ...