-
2021-06-26 13:25:43
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
更多相关内容 -
go 语言实现 html 转 pdf
2021-05-26 15:53:08go 语言实现 html 转 pdf -
Go-Golang实现HTML转PDF
2019-08-14 03:44:51Golang实现HTML转PDF -
在Golang中从html创建pdf
2021-06-26 13:24:31安装go get -u github.com/SebastiaanKlippert/go-wkhtmltopdfgo version go1.9.2 linux/amd64代码import ("fmt""strings"wkhtml "github.com/SebastiaanKlippert/go-wkhtmltopdf")func main(){pdfg, err := wkhtml....安装
go get -u github.com/SebastiaanKlippert/go-wkhtmltopdf
go version go1.9.2 linux/amd64
代码
import (
"fmt"
"strings"
wkhtml "github.com/SebastiaanKlippert/go-wkhtmltopdf"
)
func main(){
pdfg, err := wkhtml.NewPDFGenerator()
if err != nil{
return
}
htmlStr := `
This is an html
from pdf to test color
`
pdfg.AddPage(wkhtml.NewPageReader(strings.NewReader(htmlStr)))
// Create PDF document in internal buffer
err = pdfg.Create()
if err != nil {
log.Fatal(err)
}
//Your Pdf Name
err = pdfg.WriteFile("./Your_pdfname.pdf")
if err != nil {
log.Fatal(err)
}
fmt.Println("Done")
}
上面的代码适用于使用适当的背景图片和嵌入式CSS样式标签在golang中将html转换为pdf
-
go语言使用wkhtmltopdf工具将html转成pdf
2021-06-10 08:19:12最近收到网友的提问后端怎么把html转成pdf文件,于是我就把我以前做的例子发出来给大家参考一下,如果对你有帮助的话请点个赞1.首先选择适合自己的系统下载wkhtmltopdf工具mac下载后安装成功会自动添加到环境变量 ...最近收到网友的提问后端怎么把html转成pdf文件,于是我就把我以前做的例子发出来给大家参考一下,如果对你有帮助的话请点个赞
1.首先选择适合自己的系统下载wkhtmltopdf工具
mac下载后安装成功会自动添加到环境变量 直接执行 wkhtmltopdf -V 测试是否安装成功
hfy@566-Mac-mini ~ % wkhtmltopdf -V
wkhtmltopdf 0.12.5 (with patched qt)
linux环境安装需要下载好,添加执行权限并手动加到环境变量下面,如果不想加入到环境变量在代码里写死路径也行
2.直接使用下面demo修改下就可以使用了
package main
import (
"context"
"errors"
"fmt"
"io/ioutil"
"os/exec"
"path/filepath"
)
var (
argsError = errors.New("no input file or out path")
fileTypeError = errors.New("the file must be in pdf format")
)
type HtmlToPdf struct {
Commond string
in string
out string
argsMap map[string]string
prams []string
}
func NewPdf() *HtmlToPdf {
args := map[string]string{
"--load-error-handling": "ignore",
"--footer-center": "第[page]页/共[topage]页",
"--footer-font-size": "8",
"-B": "31",
"-T": "32",
}
return &HtmlToPdf{
Commond: "wkhtmltopdf",
argsMap: args,
}
}
func (this *HtmlToPdf) OutFile(input string, outPath string) (string, error) {
var pdfPath string
// 输入 输出 参数不能为空
if input == "" || outPath == "" {
return pdfPath, argsError
}
//判断是否是生成pdf 文件
ext := filepath.Ext(outPath)
if ext != ".pdf" {
return pdfPath, fileTypeError
}
this.in = input
this.out = outPath
//构建参数
this.buildPrams()
//执行命令
if _, err := this.doExce();err != nil {
return pdfPath, err
}
return pdfPath, nil
}
func (this *HtmlToPdf) doExce() ([]byte, error) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cmd := exec.CommandContext(ctx, this.Commond, this.prams...)
stdout, err := cmd.StderrPipe()
if err != nil {
return nil, err
}
defer stdout.Close()
//运行命令
err = cmd.Start()
if err != nil {
return nil, err
}
bytes, err := ioutil.ReadAll(stdout)
if err != nil {
return nil, err
}
cmd.Wait()
return bytes, err
}
func (this *HtmlToPdf) buildPrams() {
for key, val := range this.argsMap {
this.prams = append(this.prams, key, val)
}
//添加 输入 输出 参数
this.prams = append(this.prams, this.in, this.out)
}
func main() {
pdfOpt:= NewPdf()
htmlDemoPath := "xxxxx/src/demo/test.html"
PdfDemoPath := "xxxxx/src/demo/test.pdf"
str,err := pdfOpt.OutFile(htmlDemoPath,PdfDemoPath)
if err != nil {
fmt.Println("Error ",err)
return
}
fmt.Println(str)
}
效果:
image.png
-
Golang实现HTML转PDF
2021-06-06 06:02:51Golang HTML to PDF Converter For reading any document, one prefers PDF format over any other formats as it is considered as a standard format for any document in our day to day life. We often come ...Golang HTML to PDF Converter
For reading any document, one prefers PDF format over any other formats as it is considered as a standard format for any document in our day to day life. We often come across converting any form details or previews on the website in the form of HTML to PDF. For GoLang, understanding such usability, Developers at Mindinventory made an effort for making one HTML to PDF Converter which can be used for converting HTML content to PDF.
What it is?
It is a repository, integrating which one can offer HTML to PDF Conversion to their customers.
Prerequisite
Install wkhtmltopdf using below command
sudo apt install wkhtmltopdf - for Ubuntu
brew install Caskroom/cask/wkhtmltopdf - For Mac
Steps to Follow
Create a sample HTML file inside of your project.
Get go package using the below command for parsing the HTMl template.
go get github.com/SebastiaanKlippert/go-wkhtmltopdf
Get another go package for converting this html parse data to pdf using the below command.
go get html/template
Run below command
go run main.go
After finish above steps, You can generate pdf file from html.
NOTES: Don't forget to mention your html and pdf path details inside your code. If you want to generate pdf for static data then it is not mandatory to generate another html for clone data. Use that same sample html inside the code.
LICENSE!
Golang HTML to PDF Converter is MIT-licensed
Let us know!
We’d be really happy if you sent us links to your projects where you use our component. Just send an email to sales@mindinventory.com And do let us know if you have any questions or suggestion regarding our work.
-
go 语言学习练手项目(一):html转pdf并添加属于自己的水印
2020-12-21 15:55:12golang 开发属于自己的专属小工具 -
Go-Gotenberg用于将Markdown文件HTML文件和Office文档转换为PDF的无状态API
2019-08-13 21:47:37Gotenberg:用于将Markdown文件,HTML文件和Office文档转换为PDF的无状态API -
go实现word,excel,pptx转pdf
2022-05-18 20:04:46使用go实现word,excel,pptx转pdf -
标准HTML转PDF工具
2018-10-17 10:20:03用于标准HTML格式转PDF文件,用法如下:命名行输入 wkhtmltopdf.exe youFilePath\youFile.html pdfName.pdf -
php/golang使用chrome内核实现服务器端html转pdf,html转图片,pdf加水印,pdf转图片等
2020-10-26 14:48:13php/golang使用chrome内核实现服务器端html转pdf,html转图片,pdf加水印,pdf转图片等 Doctron Doctron是一个docker化的文档转换工具,在线演示地址:Doctron。github地址: https://github.com/lampnick/doctron 。 ... -
怎么把html转换成pdf
2021-06-09 01:25:591.怎么将html格式文件转成pdf1这个方法是我认为最简单、高效的,只要安装了360浏览器、火狐浏览器或谷歌浏览器就可以轻松实现。下面笔者以360浏览器为例,我们只要在浏览器的右上角点击“文件”按钮,然后选择“打印... -
Nodejs 中将html转换成pdf文件
2021-06-08 16:19:48Nodejs 中将html转换成pdf文件,Nodejs Convert html into pdf1. 下载phantomjs.exe,将该文件放在根目录2. 编写pdf.js文件(在github上下载phantomjs相关的测试文件,仿照rasterize.js文件编写pdf.js文件)3. Nodejs... -
html转pdf的工具
2019-03-12 12:02:16能够把html转成pdf的工具,一般go语言java语言使用该工具后端转pdf前端接收 -
go-wkhtmltopdf转html为pdf
2021-05-16 00:26:05go-wkhtmltopdf转html为pdf:go get -u github.com/SebastiaanKlippert/go-wkhtmltopdfvi /etc/profileexport GOPATH=/usr/lib/go/bin:wqsource /etc/profilevi a1.gopackage mainimport ("fmt""log""github.... -
Go-通过calibre将html转成epubmobiPDF等
2019-08-14 03:03:47通过calibre将html转成epub、mobi、PDF等 -
python html转pdf
2022-04-27 18:06:44目录将html文件转成pdf工具转化过程中遇到的问题pdf文件中中文不显示? 将html文件转成pdf 工具 pdfkit + wkhtmltopdf(转化工具)。 pdfkit是wkhtmltopdf的api驱动包,可以pip install pdfkit进行安装。 wkhtmltopdf... -
Docker驱动的无状态API,用于将HTML,Markdown和Office文档转换为PDF-Golang开发
2021-05-26 14:27:10Gotenberg一个由Docker驱动的无状态API,用于将HTML,Markdown和Office文档转换为PDF。 文档·在TheCodingMachine上,我们构建了许多Web应用程序(内联网,外联网等)。whit Gotenberg一个由Docker驱动的无状态API,... -
HTML 转 PDF API 接口
2021-07-17 15:05:08HTML 转 PDF API 接口 支持网页转 PDF。 1. 产品功能 超高性能转换效率; 支持将传递的 HTML 转换为 PDF,支持转换 HTML 中的 CSS 格式; 支持传递网站 URL,直接转换页面成对应的 PDF 文件; 转换后的 PDF 提供... -
phantomjs 将html 转换为图片或者pdf-Go语言中文社区
2021-06-08 18:00:39下面讲解phantomjs 如何将html转图片和pdf.到官网下载对应的版本 :下载链接我下载的是window版 phantomjs2.1.1将安装目录下的bin目录添加到环境变量,这个在全局都可以使用phantomjs 命令phantomjs 相关文档请查看... -
Java HTML转PDF 实战解决方案
2021-10-14 22:25:08HTML转PDF 实战解决方案HTML转PDF 实战解决方案iTextwkhtmltopdfChromiumCEF/JCEF HTML转PDF 实战解决方案 首先排除收费的,然后能支持高度自定义。主要需求就是在电商中订单面单打印插件中支持上打印HTML,而本地... -
go语言中pdf转图片功能的实现(CentOS)
2018-03-21 14:21:22问题三:/tmp/go-build695941684/command-line-arguments/_obj/exe/pdfconvert: error while loading shared libraries: libMagickWand-6.Q16.so.5: cannot open shared object file: No such file or directory ... -
FreeMarker---转html最后转成pdf文档
2021-10-20 11:46:171.依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker<...--生成PDF https://mvnrepository.com/artifact/or -
使用 go-wkhtmltopdf 将html转pdf
2018-10-25 17:05:28GoLand IDE创建go项目 这里项目名称为 toPDF 添加main.go文件,添加main函数, 例子来自: https://github.com/adrg/go-wkhtmltopdf package main import ( "fmt" "github.... -
Go处理PDF的实现代码
2021-01-20 03:53:02pdf转png 识别pdf中的字体 pdf解密 … 本文大多是场景问题的罗列,可以根据标题摘取自己有兴趣的部分查看 很多pdf的问题我也不是特别专业,如果问题或者疑问欢迎与我交流 一、HTML页面渲染PDF 根据html页面渲染pdf,... -
golang+libreffice6.2实现word,excel,pptx转pdf,html
2021-06-10 02:03:03方法[^本地需安装libreoffice]/***@tips libreoffice 转换指令:* libreoffice6.2 invisible --convert-to pdf csDoc.doc --outdir /home/[转出目录]** @function 实现文档类型转换为pdf或html* @param command:... -
wkhtmltopdf工具将html转换为pdf
2022-03-18 14:46:49wkhtmltopdf工具将html转换为pdf,内容包括下载安装,测试,linux下字体问题,java代码 -
gotenberg:一种由Docker驱动的无状态API,用于将HTML,Markdown和Office文档转换为PDF
2021-01-30 13:40:43Docker驱动的无状态API,用于将HTML,Markdown和Office文档转换为PDF。 · 在TheCodingMachine,我们构建了许多Web应用程序(内联网,外部网等),这些应用程序需要从各种来源生成PDF。 每次,我们都通过将解决方案... -
HTML转PDF目前最优解决方案:headless chrome
2020-11-30 13:44:13HTML转PDF目前最优解决方案:headless chrome 网上关于headless chrome大多是科普,只是单纯介绍其功能,一些细节仍然需要补充 前置条件: chrome 虽然网上都是使用的Google Chrome Canary ,但我没进行测试 ...