使用 go-wkhtmltopdf 将html转pdf

wkhtmltopdf的安装与使用 本文来记录下wkhtmltopdf的安装与使用 文章目录概述 概述 阅读详情
  1. GoLand IDE创建go项目
    这里项目名称为 toPDF

  2. 添加main.go文件,添加main函数,
    例子来自: https://github.com/adrg/go-wkhtmltopdf

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))
}

  1. GoLand terminal 执行 go run main.go
    GoLand会自动提示下载github.com/adrg/go-wkhtmltopdf
    也可以手动在terminal中输入: go get github.com/adrg/go-wkhtmltopdf来下载

下载下来之后,运行go run main.go
报:找不到gcc编译器

  1. 下载安装MinGW
    下载安装mingw-w64-install.exe
    添加到path环境变量:C:\javaware\mingw\mingw64\bin

  2. 下载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 <stdio.h>
#include <stdlib.h>
#include <wkhtmltox/pdf.h>
*/
import "C"

import (
	"errors"
	"unsafe"
)

type Converter struct {
	converter *C.wkhtmltopdf_converter
	settings  *C.wkhtmltopdf_global_settings

	objects []*Object
}
...
  1. 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
...
html转PDF文件最完美的方案(wkhtmltopdf) 使用 wkhtmltopdf 将 HTML 转换为支持文本选中复制粘贴及页签导航的 PDF 阅读详情

相关推荐

Go-Golang实现HTML转PDF

Golang实现HTML转PDF

WKHtmltoPdf

wkhtmltoPdf,将html转换为pdf

weixin_38829588的博客 1万+

MobaXterm破解14个会话限制的保姆级教程(附Python环境配置指南)

本文提供了MobaXterm破解14个会话限制的详细教程,并深入讲解了如何配置稳定的Python环境以支持相关脚本运行。通过理解软件授权机制、安全实践步骤以及许可文件的应用,帮助用户解除会话数量限制,实现高效的远程服务器管理与自动化运维。

weixin_29211309的博客 1643

最好用Html转pdf的工具——wkhtmltopdf

最好用,最强大的html转pdf,不需要编写过多的php算法,就可以高清,简单,快捷,方便的将你所需要的页面转成pdf

七度空间 17万+

Allegro模块复用:从原理图到PCB的完整流程与关键细节

本文详细介绍了Allegro模块复用从原理图到PCB的完整流程与关键细节,包括DSN和MDD文件的创建、模块调用的实战技巧以及双向同步与版本控制方法。通过标准化处理和高级复用技巧,能显著提升PCB设计效率,减少重复工作时间。适用于智能硬件和工业控制等领域的工程师。

weixin_30252709的博客 332

ESP32之 ESP-IDF + Clion 开发环境搭建(二)—— Linux版

本文介绍了 Linux 下,使用Clion IDE 用官方 ESP-IDF 开发包进行 ESP32 开发的环境搭建

Augtons 的博客 6097

golang html转成pdf,使用_go-wkhtmltopdf_将html转pdf

GoLand IDE创建go项目这里项目名称为 toPDFpackage mainimport ("fmt""github.com/adrg/go-wkhtmltopdf""log")func main(){pdf.Init()defer pdf.Destroy()// Create object from urlobject1, err := pdf.NewObject("https://www...

weixin_42544663的博客 2021

条件风险价值CVaR内容介绍(MATLAB例程)

在对微电网优化调度过程中,由于新能源机组出力和负荷的不确定性,若采用确定性的优化调度方案会存在一定的风险。反之,若风电和光伏输出功率的实际值高于预测值时,则需要降低可控机组出力或者弃风弃光,这都会给系统带来运行费用增加的风险。下,损失超过VaR值时的条件均值[1]。VaR是指在一定的置信水平下,某一投资组合在未来某一时间段内的最大损失。为m维决定系统风险损失的随机向量f(y)为y的概率密度函数。式中,m为所有场景的数量,yk为第k个场景下随机变量的值,为第k个场景发生的概率。的最小值即为CVaR,对应的。

贾贾的博客 3060

go-wkhtmltopdf:使用HTML转PDF的Golang库

go-wkhtmltopdf 是一个Golang绑定库,用于利用wkhtmltopdf工具将HTML转换成高质量的PDF文件。这个库提供了一个简单的API接口,并且直接与wkhtmltox库交互,避免了通过调用外部命令行程序的方式。它支持设置各种页面选项,如页眉、页脚、页面大小等,使你可以自定义PDF的布局和样式。 ## 2. 项目快速启动 要开始使用go-wkhtmltopdf,首先确保安装了...

gitblog_00338的博客 940

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++小学组:带解析)(7月4日试卷一)【文末附答案和解析】

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++小学组:带解析)(7月4日试卷一)【文末附答案和解析】

王老师青少年编程 1738

基于YOLOv8和时序模型的异常动作检测系统

异常动作检测是计算机视觉领域的重要应用,广泛应用于智能监控、安防系统、老人看护等场景。本项目结合YOLOv8目标检测和LSTM时序模型,实现对打架、摔倒、奔跑等异常动作的实时检测,并提供了完整的Web界面。多技术融合: 结合YOLOv8目标检测和LSTM时序建模实时检测: 支持实时视频流处理和文件分析用户友好: 提供完整的Web界面可扩展性: 模块化设计便于功能扩展高性能: 包含多种优化策略。

YOLO 764

golang把html生成pdf和签章

我们使用 go-wkhtmltopdf 库,该库实际上是对 wkhtmltopdf 工具的封装,因此你需要先在系统上安装 wkhtmltopdf(例如在 Ubuntu 上可执行 sudo apt-get install wkhtmltopdf)。我们使用 pdfcpu 库实现水印/印章功能,通过添加一个图片水印来模拟签章效果。pdfcpu 支持在 PDF 的指定页添加水印,我们可以选择仅在第一页添加。安装 pdfcpu 通过go来安装。2、PDF 签章(图片印章)1、HTML 转 PDF。

qq_35935748的博客 593

学Simulink--复杂路况场景实例:基于Simulink的智能车辆高速公路行驶仿真(超车与车道变换)

本文详细介绍了基于Simulink的智能车辆高速公路超车仿真系统设计方法。系统包含多车道交通流建模、三层超车决策逻辑(触发条件、可行性检查、执行许可)、五次多项式变道轨迹规划以及横向纵向协同控制等核心模块。通过设定三车道场景(自车初始速度100km/h,前方慢车72km/h),演示了如何实现安全高效的左变道超车全过程(5秒完成3.75m横向移动),并验证了变道平滑性(最大横向加速度1.8m/s²)和安全距离(最小TTC 5.2s)。文章还强调了传感器融合的必要性,并提供了从交通流生成到控制器设计的完整Sim

xiaoheshang_123的博客 397

开源精品推荐 —— go-wkhtmltopdf: 将HTML转换为完美PDF的利器

在数字化时代,文档的生成和转化变得尤为重要。从发票到报表,再到各种数据密集型文件,我们经常需要将网页或HTML格式的内容转化为专业级的PDF文件。而 **go-wkhtmltopdf** 正是解决这一需求的强大工具包。 ### ???? 技术深度解析 **go-wkhtmltopdf** 是一个纯Golang编写的命令行封装库,它围绕着著名的 `wkhtmltopdf` 工具构建了一个易于使用的接...

gitblog_00224的博客 547

Grafana 可视化配置

Grafana 可视化操作使用

原名又逢乱世。不要放下学习的脚步,毕竟比天天打牌、钓鱼、打游戏更能从内在充实自己。 1940

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

golang wkhtmltopdf HTML转PDF

【代码】golang wkhtmltopdf HTML转PDF。

qq_41661056的博客 901

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

**探索HTML转PDF的高效之路:go-wkhtmltopdf项目深度解读**

探索HTML转PDF的高效之路:go-wkhtmltopdf项目深度解读 在数字化文档处理领域,将网页或HTML文档转换为PDF格式的需求日益增长。今天,我们将深入了解一个专为此目的打造的开源工具——go-wkhtmltopdf,它不仅简化了Go语言中HTML到PDF的转换流程,还提供了直接使用wkhtmltox库而非依赖外部二进制文件的强大能力。 项目介绍 go-wkhtmltopdf是一个精简...

gitblog_00811的博客 1014

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

go-wkhtmltopdf完全指南:用Golang轻松生成PDF文档的终极方案

go-wkhtmltopdf是一个功能强大的Golang命令行包装器,专为wkhtmltopdf工具设计,帮助开发者轻松实现从HTML到PDF的高效转换。无论是生成定制化发票、复杂报表还是图文并茂的文档,这个工具都能满足你的需求,让PDF生成过程变得简单而高效。 ## 🚀 为什么选择go-wkhtmltopdf? 在现代应用开发中,PDF文档生成是许多业务场景的必备功能。go-wkhtmlt

gitblog_00708的博客 353

免费高效的HTML转PDF终极解决方案:go-wkhtmltopdf

还在为HTML转PDF的复杂操作而烦恼吗?go-wkhtmltopdf为您提供了一个简单、免费且高效的**HTML转PDF**解决方案,让文档转换变得轻松自如。 > **💡 项目亮点**:基于强大的WebKit渲染引擎,能够完美呈现复杂的HTML、CSS和JavaScript内容,确保转换后的PDF文档保持原始网页的视觉效果。 ## 🚀 工具优势速览 - **完美兼容**:支持现代Web

gitblog_00977的博客 364

go-wkhtmltopdf核心功能解析:从HTML到PDF的高效转换

go-wkhtmltopdf是一个纯Golang命令行包装器,专为wkhtmltopdf工具设计,提供了从HTML到PDF的高效转换能力。它允许开发者通过Golang代码轻松调用wkhtmltopdf功能,实现各种复杂PDF文档的生成需求。 ## 🚀 核心转换功能 作为Golang与wkhtmltopdf之间的桥梁,go-wkhtmltopdf最核心的功能是实现HTML到PDF的高质量转换。

gitblog_02099的博客 968

如何用Go实现HTML到PDF的高效转换?探索go-wkhtmltopdf的终极指南

在数字化办公中,将网页内容转换为PDF格式是常见需求。**go-wkhtmltopdf**作为一款强大的Go语言工具库,通过封装wkhtmltopdf命令行工具,为开发者提供了简单高效的HTML转PDF解决方案。无论是生成业务报告、电子书还是邮件附件,它都能帮助你轻松实现跨平台的高质量PDF转换。 ## ???? 什么是go-wkhtmltopdf?核心功能解析 **go-wkhtmltopdf*...

gitblog_00105的博客 521

操作PDF相关的工具,EPUB转PDF,golang

操作PDF相关的工具,EPUB转PDF,golang

猛犸象 2326

Go语言实现HTML转PDF

go语言将html转pdf

个人学习笔记库,一篇一篇记录成长的足迹 539

go语言 doc转换html,go语言使用wkhtmltopdf工具将html转成pdf

最近收到网友的提问后端怎么把html转成pdf文件,于是我就把我以前做的例子发出来给大家参考一下,如果对你有帮助的话请点个赞1.首先选择适合自己的系统下载wkhtmltopdf工具mac下载后安装成功会自动添加到环境变量 直接执行 wkhtmltopdf -V 测试是否安装成功hfy@566-Mac-mini ~ % wkhtmltopdf -Vwkhtmltopdf 0.12.5 (with p...

weixin_42347699的博客 648

golang html转成pdf,在Golang中从html创建pdf

安装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.New...

weixin_32924159的博客 3253

golang打包HTML为Android,Golang实现HTML转PDF

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 ...

weixin_34193397的博客 356
上一篇: Hyper-v Ubuntu 设置分辨率
hetoby
博客等级 码龄20年 12粉丝 58原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值