php/golang使用chrome内核实现服务器端html转pdf,html转图片,pdf加水印,pdf转图片等

默剧多态
• 阅读 3937

php/golang使用chrome内核实现服务器端html转pdf,html转图片,pdf加水印,pdf转图片等

Doctron github地址: https://github.com/lampnick/doctron

Doctron简介

Doctron是基于Docker、无状态、简单、快速、高质量的文档转换服务。目前支持将html转为pdf、图片(使用chrome(Chromium)浏览器内核,保证转换质量)。支持PDF添加水印。

在线体验

您可以打开下面的链接在线体验转换质量,由于服务器配置较低,以及网络原因,转换可能会慢一点,实际部署到服务器速度会不一样。
点我在线体验: http://doctron.lampnick.com

鼓励一波

如果您觉得Doctron这个服务还不错,请给个小星星,fork一下哦。您的鼓励是我前进的动力!

特性

  • 使用chrome内核保证高质量将HTML转为pdf/图片。
  • 简易部署(提供docker镜像,Dockerfile以及k8s yaml配置文件)。
  • 支持丰富的转换参数。
  • 转为pdf和图片支持自定义大小。
  • 无状态服务支持。

安装

  • 使用Docker
#使用默认配置
docker run -p 8080:8080 --rm --name doctron-alpine lampnick/doctron  
#使用自定义配置文件
docker run -p 8080:8080 --rm --name doctron-alpine \
-v <本地doctron.yaml配置文件>:/doctron.yaml \
lampnick/doctron  
  • 使用k8s
kubectl apply -f https://raw.githubusercontent.com/lampnick/doctron/master/manifests/k8s-doctron.yaml
  • 从源码运行
git clone https://github.com/lampnick/doctron.git
cd doctron
go run main.go 

快速开始

Html转pdf

基础转换
http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=<url>  
自定义大小
http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=<url>&marginTop=0&marginLeft=0&marginRight=0&marginbottom=0&paperwidth=4.1  
支持的参数
  • u/username // doctron 用户名
  • p/password // doctron 密码
  • uploadKey // 上传到OSS的文件名
  • url //需要转换的html URL
  • landscape // 横向打印格式.默认false.表示纵向
  • displayHeaderFooter // 是否显示页头页尾,默认false.
  • printBackground // 是否打印背景。默认false.
  • scale // 缩放比例. 默认1.
  • paperWidth // 纸张宽度,单位英尺。默认8.5英尺.
  • paperHeight // 纸张高度,单位英尺。默认11英尺.
  • marginTop // 上外边距,单位英尺。默认纸0.4英尺(1厘米).
  • marginBottom // 下外边距,单位英尺。默认纸0.4英尺(1厘米).
  • marginLeft // 左外边距,单位英尺。默认纸0.4英尺(1厘米). =
  • marginRight // 右外边距,单位英尺。默认纸0.4英尺(1厘米).
  • pageRanges // 需要打印的PDF的页数。默认为空字符串,表示所有页面.
  • ignoreInvalidPageRanges // 是否静默的忽略掉不可用的但是成功解析的页面。例如'3-2',默认false.

Html转图片

基础转换
http://127.0.0.1:8080/convert/html2image?u=doctron&p=lampnick&url=<url>  
自定义大小
http://127.0.0.1:8080/convert/html2image?u=doctron&p=lampnick&url=<url>&customClip=true&clipX=0&clipY=0&clipWidth=400&clipHeight=1500&clipScale=2&format=jpeg&Quality=80  
支持的参数
  • u/username // doctron 用户名
  • p/password // doctron 密码
  • uploadKey // 上传到OSS的文件名
  • url // 需要转换的html URL
  • format // 图片压缩格式(defaults to png),还支持jpeg.
  • quality // jpeg图片压缩质量 [0..100] (jpeg only).
  • customClip // 只有设置了这个值,下面的裁剪才会生效.否则不生效.
  • clipX // 裁剪X轴方向距离.
  • clipY // 裁剪Y轴方向距离.
  • clipWidth // 裁剪宽度.
  • clipHeight // 裁剪高度.

Pdf加水印

添加图片水印
http://127.0.0.1:8080/convert/pdfAddWatermark?u=doctron&p=lampnick&url=<pdf url>&imageUrl=<image url>
支持的参数
  • u/username // doctron 用户名
  • p/password // doctron 密码
  • uploadKey // 上传到OSS的文件名
  • url // 需要转换的html URL
  • imageUrl // 图片水印URL,支持png/jpeg

Pdf转image

coming soon

Doctron Client

Doctron go client

doctron-client-go

Doctron php client

doctron-client-php

License

Doctron is released under the Apache 2.0 license. See LICENSE.txt

点赞
收藏
评论区
推荐文章
阮小五 阮小五
2年前
如何将图片转换成pdf?这个小技巧只需一秒
如何快速地将图片转换为PDF文档?下面这个小技巧只需一秒就可以将图片转换成PDF,需要的小伙伴赶快get这项技能吧!首先,选中需要创建PDF文档的图片,单击右键,鼠标移动到快速操作选项,在右侧的菜单中选择创建PDF,选中的图片就被创建成了一个PDF文档了。
秋桐 秋桐
2年前
通过Java实现Word转PDF
Word转为PDF是非常常见的一种格式转换。通过转换可以将文档以更为稳定的格式进行保存,避免他人随意修改格式和内容。其实Word转PDF并不难,除了直接转换外也可以通过编程的方式来实现。网上相关的教程分享也很多。今天想介绍一个JavaWord组件——Fre
Wesley13 Wesley13
4年前
Java iText+FreeMarker生成PDF(HTML转PDF)
1.背景在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等。方便用户查看,下载,打印。目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户。!(https://static.oschina.net/uploads/space/2017/0507/202942_6jpZ_14059
Stella981 Stella981
4年前
PHP imagick 实现 PDF 转 图片
1、ImageMagick安装官网(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.imagemagick.org%2Fscript%2Finstallsource.php)tarzxvfImageMagick.tar.gzC/usr/lo
Wesley13 Wesley13
4年前
JAVA中使用openoffice将Excel转PDF再转图片功能实现
需求公司一个小项目要结尾了,有非常多的表格,而且非常复杂,例如!在这里插入图片描述(https://oscimg.oschina.net/oscnet/d6763b83bffd7055a6007d1fcc917e9a2e4.png)例如:(这表格,有想死的心…)!在这里插入图片描述(https://oscimg
Stella981 Stella981
4年前
PDFJs 在线预览插件
0.A.到官网https://mozilla.github.io/pdf.js/getting\_started/download下载最新版本B部署到IIS中访问pdf.js/web/viewer.html查看效果1\.后台返回pdf的base64字段,用pdf.js展示https://www.jianshu.co
秋桐 秋桐
2年前
Java 向PDF中添加图像水印
水印一般用于标注文档的版权信息、作者、所属机构或者文档属性等。不同于文本批注等,文字水印是绘制到页面中的元素,所以不会被轻易删除。因此,水印也是一种很好的防伪手段。水印又分为文本水印和图片水印两种。之前已经介绍过向PDF中添加文本水印的方法。这次,我将分享通过Java代码给PDF文档添加图像水印的具体方法和示例代码。使用到的工具是FreeSpire.PDFforJava(免费版)。
绣鸾 绣鸾
2年前
PDF Reader Pro 3.0 for mac(pdf阅读器)
是一款功能强大的PDF阅读和编辑工具。它支持在PDF文档中进行注释、批注和高亮显示,并可进行文本编辑、插入水印和数字签名等操作。此外,该软件还可以将PDF文档转换为其他格式,如Word、Excel和图片,并提供电子表格功能,可以对表格进行编辑和整理。PDF
移动端提高pdf预览清晰度
背景:移动端预览PDF文件,通用的解决方案是使用vuepdf插件,其内置pdf.js,原理是基于HTML5的标签,通过将PDF文件转换为图片或来实现对PDF文件的预览,插件好使没毛病😆,但是如果我们的需求是要在移动端预览内容很密集的文件时,预览效果就不理
Python进阶者 Python进阶者
1年前
请问如何将带有斜纹水印pdf的转成Excel呢?
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【wen】问了一个Python自动化办公的问题,问题如下:请问如何将带有斜纹水印pdf的转成Excel呢?目前我把pdf转成图片,根据水印的颜色进行清除,但是在脱网环境下无法将图片转
下载就永久免费的日常软件,PDF,图片编辑,手机清理软件
日常学习,办公经常会使用pdf,图片编辑,手机清理软件,这些软件在需要时候很难找到合适,PDF有各种需求,格式转换,编辑,样式调整,解密等等,为了更高效地处理PDF文件和图片编辑,推荐使用一款全能的PDF和图片编辑软件。这种软件功能强大,支持各种格式的文件