Go处理PDF的实现代码

2020-01-28 14:14:18于丽

三、PDF合并

cpdf unipdfc pdfcpu

1.使用cpdf合并pdf

cpdf是一个开源免费的PDF命令行工具库,有丰富的功能,比如:

Merge PDF files together, or split them apart Encrypt and decrypt Scale, crop and rotate pages Read and set document info and metadata Copy, add or remove bookmarks Stamp logos, text, dates, page numbers Add or remove attachments Losslessly compress PDF files

合并pdf:


$ cpdf -merge input1.pdf input2.pdf -o output.pdf

2.使用unipdf合并pdf


$ unipdf merge output.pdf input1.pdf input2.pdf

使用API合并pdf,参考unpdf github example

3.使用pdfcpu合并pdf


$ pdfcpu merge output.pdf input1.pdf input2.pdf

注意: pdfcpu只支持版本低于PDF V1.7的pdf文件

四、拆分PDF

cpdf unipdf pdfcpu

1.使用cpdf拆分pdf


## 逐页拆分成单个pdf
$ cpdf -split in.pdf 1 even -chunk 1 -o ./out%%%.pdf

2. 使用unipdf拆分pdf


## 将第一页拆分出来
$ unipdf split input.pdf out.pdf 1-1

使用api拆分pdf,参考unipdf github examples

3.使用pdfcpu拆分pdf


$ pdfcpu split in.pdf .

五、PDF转图片

mupdf xpdf

1. 使用mupdf操作pdf转图片

MuPDF is a lightweight PDF, XPS, and E-book viewer.
MuPDF consists of a software library, command line tools, and viewers for various platforms.

下载mupdf后得到一些工具,比如:

mupdf              
pdfdraw
pdfinfo            
pdfclean           
pdfextract         
pdfshow            
xpsdraw

其中pdfdraw可用来转换图片


$ pdfdraw -o out%d.png in.pdf

注意: mupdf不支持mac OS

2. 使用xpdf操作pdf转图片

xpdf是一个免费的PDF工具包,包括文字解析,图片转换,html转换等

下载该软件包后,可以得到一系列的工具:

pdfdetach
pdffonts 
pdfimages
pdfinfo  
pdftohtml
pdftopng 
pdftoppm 
pdftops  
pdftotext

从名称上看,大致能看出来每一个工具的用处


## 使用pdftopng将pdf转换成png
$ pdftopng in.pdf out-prefix

六、PDF解密

经常会遇到一种场景,读取pdf文件的时候发现会报错:文件被加密