php/golang使用chrome內(nèi)核實(shí)現(xiàn)服務(wù)器端html轉(zhuǎn)pdf,html轉(zhuǎn)圖片,pdf加水印淆衷,pdf轉(zhuǎn)圖片等
Doctron github地址: https://github.com/lampnick/doctron
Doctron簡(jiǎn)介
Doctron是基于Docker、無(wú)狀態(tài)甚带、簡(jiǎn)單、快速晴氨、高質(zhì)量的文檔轉(zhuǎn)換服務(wù)碉输。目前支持將html轉(zhuǎn)為pdf、圖片(使用chrome(Chromium)瀏覽器內(nèi)核聚假,保證轉(zhuǎn)換質(zhì)量)闰非。支持PDF添加水印。
在線體驗(yàn)
您可以打開(kāi)下面的鏈接在線體驗(yàn)轉(zhuǎn)換質(zhì)量瘪贱,由于服務(wù)器配置較低辆毡,以及網(wǎng)絡(luò)原因,轉(zhuǎn)換可能會(huì)慢一點(diǎn)球昨,實(shí)際部署到服務(wù)器速度會(huì)不一樣主慰。
點(diǎn)我在線體驗(yàn): http://doctron.lampnick.com
鼓勵(lì)一波
如果您覺(jué)得Doctron這個(gè)服務(wù)還不錯(cuò)鲫售,請(qǐng)給個(gè)小星星运怖,fork一下哦塞栅。您的鼓勵(lì)是我前進(jìn)的動(dòng)力!
特性
- 使用chrome內(nèi)核保證高質(zhì)量將HTML轉(zhuǎn)為pdf/圖片糖荒。
- 簡(jiǎn)易部署(提供docker鏡像,Dockerfile以及k8s yaml配置文件)棉安。
- 支持豐富的轉(zhuǎn)換參數(shù)。
- 轉(zhuǎn)為pdf和圖片支持自定義大小贡耽。
- 無(wú)狀態(tài)服務(wù)支持蒲赂。
安裝
- 使用Docker
#使用默認(rèn)配置
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
- 從源碼運(yùn)行
git clone https://github.com/lampnick/doctron.git
cd doctron
go run main.go
快速開(kāi)始
Html轉(zhuǎn)pdf
基礎(chǔ)轉(zhuǎn)換
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
支持的參數(shù)
- u/username // doctron 用戶名
- p/password // doctron 密碼
- uploadKey // 上傳到OSS的文件名
- url //需要轉(zhuǎn)換的html URL
- landscape // 橫向打印格式.默認(rèn)false.表示縱向
- displayHeaderFooter // 是否顯示頁(yè)頭頁(yè)尾木蹬,默認(rèn)false.
- printBackground // 是否打印背景若皱。默認(rèn)false.
- scale // 縮放比例. 默認(rèn)1.
- paperWidth // 紙張寬度,單位英尺晦譬。默認(rèn)8.5英尺.
- paperHeight // 紙張高度互广,單位英尺。默認(rèn)11英尺.
- marginTop // 上外邊距像樊,單位英尺旅敷。默認(rèn)紙0.4英尺(1厘米).
- marginBottom // 下外邊距,單位英尺涂滴。默認(rèn)紙0.4英尺(1厘米).
- marginLeft // 左外邊距韩脑,單位英尺。默認(rèn)紙0.4英尺(1厘米). =
- marginRight // 右外邊距首量,單位英尺进苍。默認(rèn)紙0.4英尺(1厘米).
- pageRanges // 需要打印的PDF的頁(yè)數(shù)。默認(rèn)為空字符串拣宏,表示所有頁(yè)面.
- ignoreInvalidPageRanges // 是否靜默的忽略掉不可用的但是成功解析的頁(yè)面杠人。例如'3-2',默認(rèn)false.
Html轉(zhuǎn)圖片
基礎(chǔ)轉(zhuǎn)換
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
支持的參數(shù)
- u/username // doctron 用戶名
- p/password // doctron 密碼
- uploadKey // 上傳到OSS的文件名
- url // 需要轉(zhuǎn)換的html URL
- format // 圖片壓縮格式(defaults to png),還支持jpeg.
- quality // jpeg圖片壓縮質(zhì)量 [0..100] (jpeg only).
- customClip // 只有設(shè)置了這個(gè)值辑莫,下面的裁剪才會(huì)生效.否則不生效.
- 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>
支持的參數(shù)
- u/username // doctron 用戶名
- p/password // doctron 密碼
- uploadKey // 上傳到OSS的文件名
- url // 需要轉(zhuǎn)換的html URL
- imageUrl // 圖片水印URL,支持png/jpeg
Pdf轉(zhuǎn)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