ควบคุมฟอนต์และการจัดรูปแบบข้อความด้วย NextPDF Connect
ภาพรวมโดยย่อ
หัวข้อที่มีชื่อว่า “ภาพรวมโดยย่อ”สร้างเอกสารที่มีรูปแบบข้อความหลายแบบด้วยการสลับฟอนต์ระหว่างบล็อกข้อความ set_font กำหนดแบบอักษร สไตล์ และขนาดที่ใช้งานอยู่ สถานะนี้มีผลต่อการเรียก add_text ครั้งถัดไปทั้งหมดจนกว่าจะเปลี่ยนใหม่ สูตรนี้ต้องใช้ create_pdf, set_font, add_text และ output_pdf ซึ่งทั้งหมดเป็นเครื่องมือ Core พารามิเตอร์สถานะข้อความควบคุมการเรนเดอร์ glyph (ISO 32000-2 §9)
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/serverผูกทรานสปอร์ตให้เรียบร้อย จากนั้นสามารถใช้ตระกูลฟอนต์ในตัวได้สามแบบโดยไม่ต้องเพิ่มไฟล์ฟอนต์: helvetica, times และ courier
ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”set_font รับค่า family, style ("", "B", "I", "BI", "U") และ size ฟอนต์ที่กำหนดมีผลต่อการเรียก add_text ครั้งถัดไปทั้งหมดจนกว่าจะเรียก set_font อีกครั้ง โดยไม่มีการรีเซ็ตอัตโนมัติ เมื่อ add_text มี font_size ค่านี้จะแทนที่ขนาดที่ใช้งานอยู่ เฉพาะการเรียกครั้งนั้นเท่านั้น จากนั้นขนาดของ set_font จะกลับมาใช้กับการเรียกครั้งถัดไป ข้อความจะแสดงด้วยตัวดำเนินการแสดงข้อความตามลำดับใน content stream (ISO 32000-2 §9.4) add_text ไม่มีพารามิเตอร์สี สีของข้อความจึงมาจากสีหมึกของ graphics state ของเอกสาร
ขอบเขต API
หัวข้อที่มีชื่อว่า “ขอบเขต API”| เครื่องมือ | บทบาท | ระดับความเสี่ยง |
|---|---|---|
create_pdf | เปิดเซสชัน | ปลอดภัย |
set_font | กำหนด typeface/style/size ที่ใช้งานอยู่ | ข้อควรระวัง |
add_text | เขียนข้อความด้วยฟอนต์ที่ใช้งานอยู่ | ข้อควรระวัง |
output_pdf | เรนเดอร์และส่งคืน PDF | ต้องได้รับการอนุมัติ / ตรวจทาน (base64) |
แค็ตตาล็อกเครื่องมือเป็นแค็ตตาล็อกอ้างอิงอย่างเป็นทางการ เครื่องมือที่พร้อมใช้งานขึ้นอยู่กับระดับที่ติดตั้งไว้
ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว”create_pdf(A4 แนวตั้ง) →document_idset_font(helvetica,B, 24) แล้วadd_text(หัวเรื่อง จัดกึ่งกลาง)set_font(helvetica,"", 12) แล้วadd_text(เนื้อความแบบจัดชิดขอบทั้งสองด้าน)set_font(courier,I, 10) แล้วadd_text(ตัวอย่างโค้ดสั้นๆ)output_pdf
ตัวอย่างโค้ด — การใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — การใช้งานจริง”กำหนดฟอนต์ให้ชัดเจนก่อนแต่ละบล็อกที่การจัดรูปแบบตัวอักษรมีความสำคัญ อย่าพึ่งพาสถานะที่สืบทอดข้ามส่วนเชิงตรรกะ ใช้การแทนที่ font_size ต่อการเรียกหนึ่งครั้งเฉพาะกับการเน้นแบบครั้งเดียวเท่านั้น เนื่องจากค่านี้ไม่คงอยู่ สร้างเอกสารทีละส่วน และตรวจสอบว่า add_text แต่ละครั้งส่งคืน position
กรณีขอบและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบและข้อควรระวัง”- ตระกูลฟอนต์ที่ไม่รู้จัก ค่าที่ไม่ใช่
helvetica/times/courier(เช่นarial) จะถูกปฏิเสธ - ตระกูลฟอนต์ว่างเปล่า
familyต้องเป็นสตริงที่ไม่ว่างเปล่า - สไตล์ไม่ถูกต้อง ต้องใช้รหัสตัวพิมพ์ใหญ่ ส่วน
"bold"จะถูกปฏิเสธ - ขนาดที่ไม่เป็นบวก
sizeต้องเป็นจำนวนบวก - ขนาดต่อการเรียกเป็นแบบชั่วคราว ค่านี้ไม่เปลี่ยนสถานะของ
set_font
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”ฟอนต์ในตัวเพิ่มขนาดไฟล์เพียงเล็กน้อยจนแทบไม่มีนัยสำคัญ และผลลัพธ์มีขนาดเพียงไม่กี่ KB โปรไฟล์เป็นแบบ structural
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”โหมด base64 ไม่สร้างผลข้างเคียงต่อระบบไฟล์ ฟอนต์ในตัวไม่รับไฟล์ฟอนต์ภายนอก ดังนั้นสูตรนี้จึงไม่มีพื้นผิวการโจมตีจากการแยกวิเคราะห์ฟอนต์
ความสอดคล้องตามมาตรฐาน
หัวข้อที่มีชื่อว่า “ความสอดคล้องตามมาตรฐาน”| ข้อความระบุ | ข้อกำหนด | ข้อ | รหัสอ้างอิง (reference_id) |
|---|---|---|---|
| ข้อความจะแสดงด้วยตัวดำเนินการข้อความตามลำดับของสตรีม | ISO 32000-2 | §9.4 | |
| พารามิเตอร์สถานะข้อความควบคุมการเรนเดอร์ glyph | ISO 32000-2 | §9 |
บริบทเชิงพาณิชย์
หัวข้อที่มีชื่อว่า “บริบทเชิงพาณิชย์”ไม่เกี่ยวข้อง — เครื่องมือทั้งหมดเป็น Core
ความพร้อมใช้งานของทรานสปอร์ต
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานของทรานสปอร์ต”| ทรานสปอร์ต | พร้อมใช้งาน | หมายเหตุ |
|---|---|---|
| MCP (stdio) | ใช่ | tools/call ต่อหนึ่งเครื่องมือ |
| REST | ใช่ | หนึ่งการดำเนินการต่อหนึ่งเครื่องมือ |
| gRPC | ใช่ | แบบ unary ต่อหนึ่งเครื่องมือ |
ระดับความเสี่ยง HITL
หัวข้อที่มีชื่อว่า “ระดับความเสี่ยง HITL”create_pdf ปลอดภัย; set_font/add_text ข้อควรระวัง; output_pdf ต้องได้รับการอนุมัติ ลดระดับลงเป็นตรวจทานในโหมด base64 (ระดับความเสี่ยง HITL)
ซองข้อมูล JSON ของเกตยืนยัน
หัวข้อที่มีชื่อว่า “ซองข้อมูล JSON ของเกตยืนยัน”ผลลัพธ์แบบ base64:
{ "allowed": true }