unipdf
安装依赖
go get github.com/unidoc/unipdf/v3
示例代码
https://github.com/unidoc/unipdf-examples
获取KEY
登录 https://cloud.unidoc.io/ 注册账号,生成 KEY,但是需要收费。
chromedp
使用Golang编写,主要功能是调用浏览器内核来渲染HTML页面,也可以用它来在页面上做一些操作,还有一个附加功能是将渲染后的页面保存为PDF文件。
wkhtmltopdf
将HTML页面渲染成PDF,对应的 Go API是go-wkhtmltopdf
pdfcpu
https://github.com/pdfcpu/pdfcpu
https://pdfcpu.io/
使用Golang编写,主要功能是操作PDF文件,功能比较齐全。
go get github.com/pdfcpu/pdfcpu/...
gofpdf
主要功能是操作PDF文件,功能比较少。
unipdf
纯 Golang 实现的,需要在其平台注册账号,功能好用,但是收费
。
https://github.com/unidoc/unipdf
cpdf
https://community.coherentpdf.com/
mupdf
https://www.mupdf.com/index.html
xpdf
https://www.xpdfreader.com/
qpdf
http://qpdf.sourceforge.net/
PDF-Writer
https://github.com/galkahana/PDF-Writer
rsc/pdf
https://github.com/rsc/pdf
PDFium
https://www.jianshu.com/p/3459275151c3
gofpdf
https://github.com/jung-kurt/gofpdf
Package gofpdf implements a PDF document generator with high level support for text, drawing and images.
Golang实现的创建PDF文件的库,目前支持text, drawing and images
,已经停止了维护。
案例
1、将多个jpg文件合并到一个PDF文件中去,直接使用 pdfcpu。
2、将 epub 转换成一个pdf:先将epub解压,得到xhtml,然后使用chromedp将xhtml转换成pdf,最后调用pdfcpu将多个pdf合并成一个pdf文件。
具体使用:https://github.com/phprao/go-pdf
参考:https://www.jb51.net/article/177661.htm
关于EPUB文件
EPUB(Electronic Publication)是一种基于XML的电子书格式,广泛用于智能手机、平板电脑和其它读取数字化书籍的设备。EPUB文件可以包含图片、文本和HTML,并且支持搜索和书签功能。
EPUB的结构文件是XML,内容一般是HTML或XHTML,里面会带有图片和CSS文件等资源,将EPUB文件使用 zip
解压出来,可以直接使用浏览器打开其中的HTML页面,所以将EPUB转换成PDF就是将HTML转换成PDF。因此EPUB的最终展示效果需要用到浏览器引擎来渲染。
使用微软的 [calibre](calibre - 下载 Windows) 软件来打开EPUB文件,点击“编辑书籍”可打开详细目录。
使用 zip 程序解压,下面是一个EPUB文件解压后的目录结构。