golang html转成pdf,使用_go-wkhtmltopdf_将html转pdf
GoLand IDE创建go项目
这里项目名称为 toPDF
package main
import (
"fmt"
"github.com/adrg/go-wkhtmltopdf"
"log"
)
func main(){
pdf.Init()
defer pdf.Destroy()
// Create object from url
object1, err := pdf.NewObject("https://www.baidu.com/")
if err != nil {
log.Fatal(err)
}
object1.SetOption("footer.right", "[page]")
// Create converter
converter := pdf.NewConverter()
defer converter.Destroy()
// Add created objects to the converter
converter.AddObject(object1)
// Add converter options
converter.SetOption("documentTitle", "Sample document")
converter.SetOption("margin.left", "10mm")
converter.SetOption("margin.right", "10mm")
converter.SetOption("margin.top", "10mm")
converter.SetOption("margin.bottom", "10mm")
// Convert the objects and get the output PDF document
output, err := converter.Convert()
if err != nil {
log.Fatal(err)
}
fmt.Println(string(output))
}
下载下来之后,运行go run main.go
报:找不到gcc编译器
下载安装MinGW
下载安装mingw-w64-install.exe
添加到path环境变量:C:\javaware\mingw\mingw64\bin
下载wkhtmltopdf
go-wkhtmltopdf项目又依赖于wkhtmltopdf,
terminal中输入: go get github.com/wkhtmltopdf/wkhtmltopdf进行下载
再次执行:go run main.go
结果报错:fatal error: wkhtmltox/pdf.h: No such file or directory
报错原因,看了一下,应该是如下的include引起的:
package pdf
/*
#cgo LDFLAGS: -lwkhtmltox
#include
#include
#include
*/
import "C"
import (
"errors"
"unsafe"
)
type Converter struct {
converter *C.wkhtmltopdf_converter
settings *C.wkhtmltopdf_global_settings
objects []*Object
}
...
wkhtmltox
又牵扯到了wkhtmltox,继续下载github.com/tcort/wkhtmltox
尝试go get github.com/tcort/wkhtmltox
结果报:go: warning: “github.com/tcort/wkhtmltox/…” matched no packages
手动下载binary:https://wkhtmltopdf.org/downloads.html
这里我下载了wkhtmltox-0.12.5-1.mxe-cross-win64.7z,里面包含:
./bin
libwkhtmltox.a
wkhtmltox.dll
wkhtmltoimage.exe
wkhtmltopdf.exe
./include/wkhtmltox
dllbegin.inc
dllend.inc
image.h
pdf.h
然后
把include里面的wkhtmltox目录复制到MinGW64的安装目录:
C:\javaware\mingw\mingw64\x86_64-w64-mingw32\include
把bin里面的 libwkhtmltox.a, wkhtmltox.dll拷贝到:
C:\javaware\mingw\mingw64\x86_64-w64-mingw32\lib
把bin里面的wkhtmltoimage.exe,wkhtmltopdf.exe拷贝到:
C:\javaware\mingw\mingw64\x86_64-w64-mingw32\bin
再次执行:go run main.go
这次终于运行成功了:
/CreationDate (D:20181025170310+08'00')
>>
endobj
3 0 obj
<<
/Type /ExtGState
/SA true
/SM 0.02
/ca 1.0
/CA 1.0
...
本文来源于网络:查看 >https://blog.csdn.net/hetoby/article/details/83382685
golang html转成pdf,使用_go-wkhtmltopdf_将html转pdf相关推荐
- 中批注转成pdf看不到_超实用的PDF在线转换器,你绝对用的到~
PDF 是我们工作中常用的文档形式,有时候需要对它进行转换或者编辑等工作. 给大家分享一款界面简洁,操作简单的一站式 PDF 工具:LightPDF.LightPDF 是一款线上 PDF 转换器与编辑 ...
- 转https_PDF怎么转成JPG最简单?分享免费的PDF转图片方法
PDF怎么转成JPG最简单?能够独立完成PDF文件转换是我们日常工作中需要掌握的一项技能,PDF转换方面就有PDF转Word.PDF转PPT.PDF转图片等,也包括Word转PDF.PPT转PDF.图 ...
- Golang PDF转图片 拼接长图 压缩PDF及图片 输出JPEG
PDF转PNG主要是用到Xpdf的库 根据操作系统选择命令行工具下载- Download the Xpdf command line tools: 在bin64目录下可以找到PDFTOPNG可执行文件 ...
- 怎样把多个pdf合并为一份?多个pdf怎么合并成一个pdf?
怎么把单个的pdf文件合并在一起?怎么把几个单独的pdf文件合并为一个?有时候我们需要把多个pdf合并成一个pdf,但是还有些小伙伴不知道pdf合并成一个pdf软件哪个好?有时候我们需要把多个pdf合 ...
- PDF合并:如何将两个PDF文件合并成一个PDF文件
PDF文件是我们在工作中经常能够用到的文件,尤其是在办公中会遇到很多PDF文件在传输的过程中为了传输更快被拆分成了几个PDF文件,但是要找一个完整的PDF文件就需要把两个被拆分的PDF文件合并成一个P ...
- HTML转换成PDF 指定网页转换PDF(实际上是截取网页) pdf.js , dompdf , html2ps , wkhtmltopdf
开发背景 在实际开发过程中,有一些特殊需要:需要把相关网页转换成PDF格式,作为资料留存 下面讲一下我所遇到的相关需求:证书的发放,在前期的需求调研的时候甲方提出一个需求,电子证书需要实时生成并且通过 ...
- PDF迅捷转换器html网址,如何把PDF转换成HTML?迅捷PDF转换器
原标题:如何把PDF转换成HTML?迅捷PDF转换器 很多人都知道,PDF格式的文件是可以直接用网页来打开的,那么你是否知道,其实PDF格式的文件还可以直接给转换成HTML这样的网页格式呢?那么如何把 ...
- PDF怎么转换成WORD?3大方法助您PDF转Word!
还不知道PDF怎么转换成WORD吗,本文将提供完整的PDF转Word方案,包括离线.在线或者SDK API等各种方式,总有一款满足您的需求. 什么是PDF转Word? PDF是出版和图形领域的软件厂商 ...
- 图片怎么转换成pdf格式?如何把图片转pdf?
图片怎么转换成pdf格式?如何把图片转pdf?在pdf的制作过程中,经常需要插入很多图片,或者把图片制作成单独的pdf文件.以往我们会一张一张的插入制作.现在,对于这些操作,您只要通过适当的技巧,即可 ...
- 压缩pdf大小的方法?怎样压缩pdf大小?pdf文档怎么压缩?pdf文件太大怎么压缩?pdf文件太大怎么压缩成小内存?如何降低pdf文件大小?怎么把pdf文件压缩到指定大小?压缩pdf的简单方法
pdf在线压缩大小?在工作中需要处理大量PDF文件,我们通常要对PDF文件进行压缩处理.那么问题来了,PDF文件该怎么压缩呢?可能很多人都不知道具体的操作方法,今天要分享给大家的正是PDF压缩的方法, ...
最新文章
- CString的用法
- “大型票务系统”和“实物电商系统”的数据库选型
- Lesson 8.5 SOFTMAX回归
- GreenPlum查看表和数据库大小
- python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法
- mod_wsgi的工作模式和配置
- 结构体中.和-的用法
- corntab定时执行任务
- xcode 获取模拟器app沙盒路径_使用Xcode12进行App内购测试
- UltraCompare 22 for Mac(文件比较工具)
- Leetcode之删除链表的倒数第N个节点
- 【数学建模】基于matlab银行多机排队论模型【含Matlab源码 1096期】
- linux系统怎么安装小小输入法,CentOS 7.0下安装小小输入法
- 全国哀悼日,我们也把博客灰一下吧
- 六爪机器人_六爪机器人
- Millet谷仓:新型电商势在必行
- pyinstaller 打包 python3项目,遇到failed to execute script XXX 错误的解决方法
- 揭秘奥运会四大难解之谜
- 老夫我写代码的起手式是怎么样的?
- OpenStack T版 搭建【全网最全】