强大的pdf文件操作小工具--PDFtk

摘要:
安装成功后安装目录的bin目录会有libiconv2.dll和pdftk.exe文件,这就是操作pdf的PDFtk工具。@echooffpdftk%cd%ase1.pdfbackground%cd%stamp.pdfoutput%cd%stampback.pdf以上就是常用的pdf文件操作的相关命令了,实际上PDFtk还有提供了不少功能,具体可与参照官网和输入在CMD输入pdftk--help查看相关资料,这里就不一一写出来了,毕竟小白们没用到那么细致的功能。附件附件提供了自己测试用的pdf和小工具libiconv2.dll和pdftk.exe文件,如果有朋友不方便安装可以直接下载附件来操作。

内容转载自博客https://www.cnblogs.com/basterdaidai/p/6204518.html

在做项目中,是会经常遇到pdf合并,加水印等类似需求的。

认识PDFtk

PDFtk(官网:https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/)是一款国外开发的软件,目标是使PDF更容易操作。官网上挂着一些客户软件的核心功能其实也是要收费才能用,但是它有一个服务器版本是免费的,这就是本篇文章的主角。PDFtk支持合并、旋转、加水印、加附件、加密、

强大的pdf文件操作小工具--PDFtk第1张

下载安装

下载地址:https://www.pdflabs.com/tools/pdftk-server/

选择符合操作系统的版本下载,安装过程就不表了,小白式的安装就可以。安装成功后安装目录的bin目录会有libiconv2.dll和pdftk.exe文件,这就是操作pdf的PDFtk工具。环境变量也多了这个工具的路径。如果有像博主这样公司不给安装软件的,复制这两个文件就可以。

强大的pdf文件操作小工具--PDFtk第2张

操作命令

官网(https://www.pdflabs.com/docs/pdftk-cli-examples/)上有举了一些例子,这里整理成批处理命令方便小白,相关命令保存为.bat文件,然后把希望操作的pdf文件和.bat文件置于同一目录即可。

合并文件夹内所有pdf,输出combind.pdf

@echo off
pdftk %cd%*.pdf cat output %cd%combined.pdf

把多个PDF的不同页面组合成一个新的PDF文档,这里取base1.pdf的第一页,base2.pdf的第一页,输出combined2.pdf

@echo off
pdftk A=%cd%ase1.pdf B=%cd%ase2.pdf cat A1 B1 output %cd%combined2.pdf

旋转PDF,旋转的角度为上北下南左西右东(northsouthwesteast),如下例,combined第一页向右旋转而其他保持不变则旋转参数为1east 2-end,如果全部旋转则是1-endeast(注意:这里没有空格)

@echo off
pdftk %cd%combined.pdf cat 1east 2-end output %cd%
otate.pdf

使用128位强度对PDF进行所有者加密(owner password),加密后PDF文件处于只读状态,没有所有者密码不能对该PDF做各种文件操作。这里对base1.pdf进行所有者加密,密码为foopass,输出文件为poopass.128.pdf

@echo off
pdftk %cd%ase1.pdf output %cd%foopass.128.pdf owner_pw foopass

同上,同时给PDF加上访问者密码(会弹出一个密码输入框)此例原文件为in.pdf,加密后文件为mydoc.128.pdf,所有者密码为foopass,访问者密码为baz

@echo off
pdftk %cd%ase1.pdf output %cd%foopassbaz.128.pdf owner_pw foopass user_pw baz

解密PDF文档,input_pw空一格,然后是所有者密码,这里输入文件为加密文件foopassbaz.128.pdf,输出文件nopass.pdf,输出文件会去掉所有者密码和访问者密码。

@echo off
pdftk %cd%foopassbaz.128.pdf input_pw foopass output %cd%
opass.pdf

加水印,以下命令会把stamp.pdf当成背景水印(即stamp.pdf叠加在底层)合到base1上并输出stampback.pdf,如果想把stamp.pdf合成base1的前景水印(即stamp.pdf叠加在表层),把以下的backgroud换成stamp即可。

@echo off
pdftk %cd%ase1.pdf background %cd%stamp.pdf output %cd%stampback.pdf

以上就是常用的pdf文件操作的相关命令了,实际上PDFtk还有提供了不少功能,具体可与参照官网和输入在CMD输入pdftk --help查看相关资料,这里就不一一写出来了,毕竟小白们没用到那么细致的功能。

附件

附件提供了自己测试用的pdf和小工具libiconv2.dll和pdftk.exe文件,如果有朋友不方便安装(像我的上家公司)可以直接下载附件来操作。

pdf小工具

强大的pdf文件操作小工具--PDFtk第3张

参考:

http://blog.csdn.net/fresherman/article/details/5979204

https://www.pdflabs.com/docs/pdftk-cli-examples/

内容补充

cmd控制台调用方法

合并PDF

强大的pdf文件操作小工具--PDFtk第4张

PDF加水印

强大的pdf文件操作小工具--PDFtk第5张

C++调用的方法

合并PDF

    //如果pdftk.exe所在路径有空格,那么它的路径要用"给包起来
    char cmd_exe[1000];
    sprintf_s(cmd_exe,"D:\1\2\pdftk.exe %s %s cat output %s", "D:\1\2\1.pdf", "D:\1\2\2.pdf", "D:\1\2\11.pdf");
    WinExec(cmd_exe,SW_HIDE);

强大的pdf文件操作小工具--PDFtk第6张

PDF加水印

    //如果pdftk.exe所在路径有空格,那么它的路径要用"给包起来
    char cmd_exe[1000];
    sprintf_s(cmd_exe,"D:\1\2\pdftk.exe %s background %s output %s", "D:\1\2\1.pdf", "D:\1\2\3.pdf", "D:\1\2\222.pdf");
    WinExec(cmd_exe,SW_HIDE);

强大的pdf文件操作小工具--PDFtk第7张

Caesar卢尚宇

2021年2月27日

免责声明:文章转载自《强大的pdf文件操作小工具--PDFtk》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jsonp劫持Ubuntu 16.04 安装CP210x,CH340驱动下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WkHtmlToPdf 生成 PDF

1. 首先去http://wkhtmltopdf.org/downloads.html 下载最新版本的安装包 2. 执行安装完成 3. CMD 命令行运行wkhtmltopdf.exe程序生成PDF C:Program Fileswkhtmltopdfin>wkhtmltopdf.exe --orientation Landscape --javas...

前端实现在线预览pdf、word、xls、ppt等文件

最近在做一个公司的资源管理系统,一些知识小记一下。 1、前端实现pdf文件在线预览功能 方式一、pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面。在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签href属性实现预览 <a href="http://t.zoukankan.com/文档地址"></a> 方式二...

双层PDF的制作——使用PDF4NET 3.3.6 实现

双层PDF的制作——使用PDF4NET 3.3.6 实现 所谓双层PDF就是每一页都包含两层,上层是图像,下层是该图像对应的文字。既可以像图像一样浏览,又可以像文字一样复制、查找。这样兼顾了阅读的效果和使用方便性。 在Google里面搜索,大多数双层PDF制作方法都是使用OCR技术实现的。这些方法的制作前提是,原始的数据只是图片,不存在对应的文字版。这...

移动端嵌入pdf.js远程请求pdf出现(206)

最近在做移动端的开发,需要嵌入pdf进行预览。看了很多的js组件后选择了pdf.js;使用起来还是比较方便的,至于使用网上有很多的教程。 但在使用过程中出现了如下一个问题(我做的是IOS系统): 问题是由于服务器对http的get请求进行了数据的部分响应,导致pdf无法继续打开。尝试了很多方法,修改请求头等方式都不成功; 最后,通过查询pdf.js中的c...

vue移动端预览pdf

vue-pdf移动端缺点: 1、安卓预览红头文件会出现缺字少字的问题,ios正常 2、预览过大文件,分页形式的好用,不分页的文件过大可能打不开 3、分页形式放大缩小只能通过按钮改变css放大,不分页无法放大 解决vue-pdf移动端问题使用pdfh5预览pfd: 1.安装 npm install pdfh5 2.使用 <template>...

在线浏览PDF文件的实用jquery插件推荐(转)

在web开发当中我们经常需要进行需要在线浏览PDf内容,在线嵌入动态pdf,传统的解决方法安装客户端PDF阅读器,如果是在谷歌是可以在线浏览的,因为他自身就带了一些插件,以前遇到这样的问题往往是费时又费力,很不好解决, 今天就给大家分享一系列使用javascript实现的pdf插件效果,无需借助第三方插件就可以实现在线浏览功能,非常实用 jQuery...