转载

golang抓取html转换成pdf

总结一下学习十来天go语言的成果,看了一遍语法之后,写了一个抓取HTML然后转换成PDF文件的程序,分享一下,代码点 这里 。代码在目前go的1.7.5版本和1.8版本上运行没有问题,据说go向下兼容,而不像swift。但发现有些比较老的资料上的代码,在新的go版本上看不到效果,比如打印地址 %p ,在新版本中必须得使用 unsafe.Pointer(p) 转换一下,否则格式化输出指针变量不会打印出内存地址。

其中使用了两个第三方库:

  • html操作使用了 goquery 的第三方库,对html操作很方便;
  • html转PDF使用了 wkhtmltopdf 库,到官方网站上选择相应的平台下载安装,然后在go语言中执行相应的命令即可。使用说明点 这里 。

另外还有一个去水印的功能,想具体了解请参考代码。

通过这个功能的练手,发现go语言还是相关操作都很方便。比如文件读写:不像java那样,不同的流嵌套,然后就是try-catch。go里面写起来,相比而言简单好多。goquery这个库操作HTML很方便,唯一感觉不好用的地方是修改HTML标签的属性值,没有找到类似这种 p.Find("div.Part div a img").RemoveAttr("alt") 好用的函数。

后面希望能更深入的了解go语言。

附已经转换OK的PDF的下载地址: TCP:IP详解 卷1:协议.pdf

原文  http://www.jacpy.com/2017/02/19/go-html-to-pdf.html
正文到此结束
Loading...