当前位置: 首页 > news >正文

Wkhtmltopdf使用

Wkhtmltopdf使用

  • 1.windows本地使用
  • 2.golang+windows环境使用
  • 3.golang+docker容器中使用

1.windows本地使用

官网地址 https://wkhtmltopdf.org/,直接去里面下载自己想要的版本,这里以windows版本为例

在这里插入图片描述

在这里插入图片描述

2.golang+windows环境使用

1.安装扩展
go get -u github.com/SebastiaanKlippert/go-wkhtmltopdf
2.写一段测试代码
// 写一个测试代码测试一下
package generateFile
import ("github.com/SebastiaanKlippert/go-wkhtmltopdf""strings"
)
func GeneratePDF(title, content string) (res []byte, err error) {content = `<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><style>body { font-family: "Microsoft YaHei", SimSun, sans-serif; }</style>
</head>
<body>
<h1 style="text-align: center;">` + title + `</h1>` + content + `
</body>
</html>`// 创建 PDF 生成器var pdf *wkhtmltopdf.PDFGeneratorpdf, err = wkhtmltopdf.NewPDFGenerator()if err != nil {return}// 从 HTML 字符串创建页面page := wkhtmltopdf.NewPageReader(strings.NewReader(content))// 设置页面选项page.DisableSmartShrinking.Set(true)page.Zoom.Set(1.25)// 将页面添加到生成器pdf.AddPage(page)// 设置全局选项pdf.MarginTop.Set(15)pdf.MarginBottom.Set(15)pdf.MarginLeft.Set(15)pdf.MarginRight.Set(15)pdf.Dpi.Set(300)pdf.Orientation.Set(wkhtmltopdf.OrientationPortrait)pdf.NoPdfCompression.Set(true) // 不压缩PDF以获得更好质量pdf.PageSize.Set(wkhtmltopdf.PageSizeA4)// 生成 PDFerr = pdf.Create()if err != nil {return}res = pdf.Bytes()return
}
 3.apifox调用查看效果

在这里插入图片描述

3.golang+docker容器中使用

1.编写 dockerfile

FROM golang:1.24.2 as builderENV GO111MODULE=on \GOPROXY=https://goproxy.cn,direct \CGO_ENABLED=0 \GOOS=linux \GOARCH=amd64WORKDIR /appCOPY . /appRUN go build -o mainFROM alpine:3.13RUN apk add tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
RUN apk del tzdataRUN apk add --update --no-cache \libgcc libstdc++ libx11 glib libxrender libxext libintl \ttf-dejavu ttf-droid ttf-freefont ttf-liberation ttf-ubuntu-font-familyCOPY --from=madnight/alpine-wkhtmltopdf-builder:0.12.5-alpine3.10-3660174986 \/bin/wkhtmltopdf /bin/wkhtmltopdfWORKDIR /appCOPY --from=builder /app .//RUN cp /app/assets/fonts/* /usr/share/fonts/TTFEXPOSE 80/tcpCMD ["/app/main"]
2.直接代码里面调用就行了效果一样

文章转载自:

http://7tZQO7Km.mqmjy.cn
http://tuxcfBgm.mqmjy.cn
http://SIgRhkKH.mqmjy.cn
http://qh45EAX6.mqmjy.cn
http://skrY4MTI.mqmjy.cn
http://FsP9KQRR.mqmjy.cn
http://EVD16IEd.mqmjy.cn
http://lAfh8FWb.mqmjy.cn
http://zwSwpS16.mqmjy.cn
http://wkJvDTu8.mqmjy.cn
http://aVjssByT.mqmjy.cn
http://n4hiZk6f.mqmjy.cn
http://aH7jSEBv.mqmjy.cn
http://GI2jMwO0.mqmjy.cn
http://G9vLB6Hj.mqmjy.cn
http://ox6lb2ro.mqmjy.cn
http://QxXZwd9K.mqmjy.cn
http://7LuZx8XO.mqmjy.cn
http://OvUKEqrK.mqmjy.cn
http://OORM2INR.mqmjy.cn
http://HZKOUr1Q.mqmjy.cn
http://cFpgl9YG.mqmjy.cn
http://XdAvHZ3h.mqmjy.cn
http://FIMFa3fI.mqmjy.cn
http://k2n5OR2D.mqmjy.cn
http://Jk0a03Se.mqmjy.cn
http://SRsoj86x.mqmjy.cn
http://eVIVGRlq.mqmjy.cn
http://gsT9W5wL.mqmjy.cn
http://AyhXbPUA.mqmjy.cn
http://www.dtcms.com/a/208266.html

相关文章:

  • 端到端大语言模型微调技术 Demo 全流程详解(附完整模块说明)
  • 飞书知识问答产品测评:让企业玩转AI
  • C# TCP协议全面指南:从可靠传输到企业级高并发的深度实践​
  • 职业规划:动态迭代的系统化路径
  • C# Windows Forms应用程序-001
  • Win/Linux安装flash attention2
  • 医学人工智能中的分层处理与跨模态融合:深度架构设计研究(基础教程.下)
  • 127. 单词接龙
  • 苍穹外卖day1实战,Idea中Lombok编译时“找不到符号”,更改JDK版本最全流程,作者亲身尝试
  • java Sm2SignWithSM3转php
  • 不做算法备案后果
  • VSCode如何像Pycharm一样“““回车快速生成函数注释文档?如何设置文档的样式?
  • Ubuntu安装编译Pangolin时所需的OpenGL依赖
  • STM32开发环境配置——VSCode+PlatformIO + CubeMX + FreeRTOS的集成环境配置
  • Oracle 的 MOVE 操作是否重建表?
  • springboot配置redis lettuce连接池,以及连接池参数解释
  • 从逻辑学视角严谨证明数据加密的数学方法与实践
  • 【Ubuntu】如何在一个脚本文件中跑三个python文件?以及端口被占的解决方法
  • 企业级云原生爬虫架构与智能优化
  • ArcGIS Pro 3.4 二次开发 - 地理数据库
  • PostgreSQL 数据库备份与恢复
  • 从源码编译支持ffmpeg(H264编码)的opencv(创建mp4视频报错:H264 is not supported with codec id 28)
  • Oracle 基础知识作业的使用
  • Linux-线程同步于互斥
  • Docker Volumes 还原指南
  • 超详细openBmc Virtual Media 功能及实现流程(1)
  • 使用Rancher在CentOS 环境上部署和管理多Kubernetes集群
  • nginx配置跨域请求,后台不用配置啦,完美
  • VMware虚拟机突然无法ssh连接
  • 消除爆红 [vue/no-unused-vars] ‘row‘ is defined but never used.eslint-plugin-vue