support puppeteer's PDFOptions, add param for preload
This commit is contained in:
parent
f6b68e4379
commit
c33e0653af
4 changed files with 117 additions and 71 deletions
30
README.md
30
README.md
|
|
@ -64,9 +64,13 @@ $ npx ts-node html-template.ts
|
|||
หรือใช้ Rest Client ดูไฟล์ [api.http](./api.http)
|
||||
|
||||
ตรง http header จะใช้ accept เป็นตัวบอกว่าต้องการผลเป็นไฟล์แบบไหนโดยใช้ [Mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types) เพื่อเป็นมาตรฐาน ให้ดูที่รองรับในฟังก์ชั่น [mimeToExtension](./libs/report-template.ts)
|
||||
การตั้งค่าของ template อยู่ที่ [templateOption](./libs/report-template.ts)
|
||||
|
||||
### HTML
|
||||
แปลงจาก URL เป็น pdf,png,jpg รองรับการตัดคำไทย ฟีเจอร์ template ยังไม่เสร็จ
|
||||
แปลงจาก URL เป็น pdf,png,jpg รองรับการตัดคำไทย การแปลงเป็น
|
||||
- [templateOption.htmlTemplateOption](./libs/report-template.ts) เป็นการตั้งค่าเฉพาะของโมดุลนี้
|
||||
- templateOption.htmlTemplateOption.PDFOptions ซึ่งเป็น [PDFOptions](https://pptr.dev/api/puppeteer.pdfoptions) ของ puppeteer
|
||||
ฟีเจอร์ template ยังไม่เสร็จ
|
||||
``` sh
|
||||
# Grafana dashboard to pdf
|
||||
curl -X 'POST' \
|
||||
|
|
@ -80,6 +84,7 @@ curl -X 'POST' \
|
|||
}
|
||||
}' -o html-grafana.pdf
|
||||
|
||||
|
||||
# url to png
|
||||
curl -X 'POST' 'http://localhost:3001/api/v1/report-template/html' \
|
||||
-H 'accept: image/png' -H 'Content-Type: application/json' \
|
||||
|
|
@ -88,8 +93,31 @@ curl -X 'POST' 'http://localhost:3001/api/v1/report-template/html' \
|
|||
curl -X 'POST' 'http://localhost:3001/api/v1/report-template/html' \
|
||||
-H 'accept: image/jpeg' -H 'Content-Type: application/json' \
|
||||
-d '{"template": "https://pantip.com/","reportName": "html-blognone"}' -o html-pantip.jpeg
|
||||
# url to pdf pantip.com very long lazyload you
|
||||
curl -X 'POST' 'http://localhost:3001/api/v1/report-template/html' \
|
||||
-H 'accept: application/pdf' -H 'Content-Type: application/json' \
|
||||
-d '{"template": "https://pantip.com/","reportName": "html-blognone",
|
||||
"htmlOption": {
|
||||
"preloadWait":500,
|
||||
"preloadScroll":1000,
|
||||
"preloadLoop":25,
|
||||
"pdfOption":{"format":"A4"}
|
||||
}
|
||||
}' -o html-pantip.pdf
|
||||
|
||||
|
||||
```
|
||||
|
||||
# pantip.com to pdf
|
||||
curl -X 'POST' \
|
||||
'http://localhost:3001/api/v1/report-template/html' \
|
||||
-H 'accept: application/pdf' -H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"template": "https://pantip.com",
|
||||
"reportName": "html-pantip.com"
|
||||
}' -o html-pantip.com.pdf
|
||||
|
||||
|
||||
### docx
|
||||
แปลงจากเทมเพลทไฟล์ .docx เป็น docx,pdf,png
|
||||
```sh
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue