Project

General

Profile

HtmlToPdf API

API สำหรับแปลง HTML เป็น PDF
AmgCnt.Python.htmlToPdf(DataObject, Callback)
amgApi.coreLib.python.htmlToPdf(Object, Callback)
1. DataObject เป็น Object ของ HTML และ Options ต่างๆ
2. Callback เป็นฟังก์ชันสำหรับรอรับ object ผลลัพธ์การแปลง html เป็น pdf

ตัวอย่างการใช้งาน

AmgCnt.Python.htmlToPdf({
html: `
<div style="text-align: center;">Hi PDF</div>
`,
options: {
'css': ``,
'orientation': 'p',
'header-font-name': 'TH-SARABUN-PSK',
'margin-top': 10,
'margin-right': 8,
'margin-bottom': 10,
'margin-left': 8,
'footer-center': 'หน้า [page] ของ [toPage] หน้า',
'footer-font-size': 9,
'footer-spacing': 2,
},
dwn_file: 'file_name.pdf'
}, function(res) {
console.log(res);
})

DataObject จะมีโครงสร้างดังต่อไปนี้
html เป็นเนื้อหาที่จัดอยู่ในรูปแบบ html
options เป็น option object ที่กำหนดการแสดงผล HTML
dwn_file เป็นชื่อไฟล์ที่จะทำการตั้งให้ pdf (ต้องตามด้วย .pdf)

var DataObject = {
html: String,
options: OptionObject,
dwn_file: String
}

OptionObject ที่มีให้ใช้งาน
ชื่อ option ประเภทตัวแปร คำอธิบาย ค่าเริ่มต้น หมายเหตุ
css string css style ที่เสริมเข้าไปเพื่อควบคุมรูปแบบของข้อมูลก่อนการปริ้น -ใช้ word-wrap แทน break-word
-ไม่รองรับ CSS3
page-size string ขนาดหน้ากระดาษ
A3
A4
A5
Letter
A4 -ขึ้นต้นด้วยตัวใหญ่
orientation string การวางแนวของไฟล์ PDF
p คือแนวตั้ง
l คือแนวนอน
p
grayscale - ปรับ pdf ให้ออกมาเป็นขาวดำ -ไม่ใส่จะปริ้น pdf แบบมีสี
footer-left string ปริ้นช่วงซ้ายล่างของกระดาษทุกหน้า -ห้ามใช้ ' ในข้อความ
[page] จะถูกแทนที่ด้วยเลขหน้าปัจจุบัน
[toPage] จะถูกแทนที่ด้วยเลขหน้าทั้งหมด
footer-center string ปริ้นช่วงกลางล่างของกระดาษทุกหน้า ข้อจำกัดเดียวกับ footer-left
footer-right string ปริ้นช่วงขวาล่างของกระดาษทุกหน้า ข้อจำกัดเดียวกับ footer-left
footer-font-size number ขนาดของตัวหนังสือช่วงล่างของกระดาษ
footer-spacing number ขนาดของช่องว่างระหว่างเนื้อหาและตัวหนังสือช่วงล่างของกระดาษ ในหน่วย mm
footer-line - เพิ่มเส้นแนวนอนระหว่างเนื้อหาและตัวหนังสือช่วงล่างของกระดาษ -ไม่ใส่จะไม่ปริ้นเส้นลงใน pdf
header-left string ปริ้นช่วงซ้ายล่างของกระดาษทุกหน้า -ห้ามใช้ ' ในข้อความ
[page] จะถูกแทนที่ด้วยเลขหน้าปัจจุบัน
[toPage] จะถูกแทนที่ด้วยเลขหน้าทั้งหมด
header-center string ปริ้นช่วงกลางบนของกระดาษทุกหน้า ข้อจำกัดเดียวกับ header-left
header-right string ปริ้นช่วงขวาบนของกระดาษทุกหน้า ข้อจำกัดเดียวกับ header-left
header-font-size number, pixel ขนาดของตัวหนังสือช่วงบนของกระดาษ
header-spacing number, millimeter ขนาดของช่องว่างระหว่างเนื้อหาและตัวหนังสือช่วงบนของกระดาษ ในหน่วย mm
header-line - เพิ่มเส้นแนวนอนระหว่างเนื้อหาและตัวหนังสือช่วงบนของกระดาษ -ไม่ใส่จะไม่ปริ้นเส้นลงใน pdf
no-images ไม่ปริ้นรูปใดๆลงใน pdf -ไม่ใส่จะไม่ปริ้นรูปลงใน pdf
margin-top number, millimeter ระยะขอบกระดาษกับเนื้อหาด้านบน -อาจจะมีผลทำให้หัวกระดาษ ไม่ถูกพิมพ์ ให้ทำการปรับจูนค่าร่วมกับ option header-spacing
margin-right number, millimeter ระยะขอบกระดาษกับเนื้อหาด้านขวา 10
margin-bottom number, millimeter ระยะขอบกระดาษกับเนื้อหาด้านล่าง 10 -อาจจะมีผลทำให้หัวกระดาษ ไม่ถูกพิมพ์ ให้ทำการปรับจูนค่าร่วมกับ option footer-spacing
margin-left number, millimeter ระยะขอบกระดาษกับเนื้อหาด้านซ้าย