ข้ามไปยังเนื้อหา

ควบคุมฟอนต์และการจัดรูปแบบข้อความด้วย NextPDF Connect

สร้างเอกสารที่มีรูปแบบข้อความหลายแบบด้วยการสลับฟอนต์ระหว่างบล็อกข้อความ set_font กำหนดแบบอักษร สไตล์ และขนาดที่ใช้งานอยู่ สถานะนี้มีผลต่อการเรียก add_text ครั้งถัดไปทั้งหมดจนกว่าจะเปลี่ยนใหม่ สูตรนี้ต้องใช้ create_pdf, set_font, add_text และ output_pdf ซึ่งทั้งหมดเป็นเครื่องมือ Core พารามิเตอร์สถานะข้อความควบคุมการเรนเดอร์ glyph (ISO 32000-2 §9)

Terminal window
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 ของเอกสาร

เครื่องมือบทบาทระดับความเสี่ยง
create_pdfเปิดเซสชันปลอดภัย
set_fontกำหนด typeface/style/size ที่ใช้งานอยู่ข้อควรระวัง
add_textเขียนข้อความด้วยฟอนต์ที่ใช้งานอยู่ข้อควรระวัง
output_pdfเรนเดอร์และส่งคืน PDFต้องได้รับการอนุมัติ / ตรวจทาน (base64)

แค็ตตาล็อกเครื่องมือเป็นแค็ตตาล็อกอ้างอิงอย่างเป็นทางการ เครื่องมือที่พร้อมใช้งานขึ้นอยู่กับระดับที่ติดตั้งไว้

  1. create_pdf (A4 แนวตั้ง) → document_id
  2. set_font (helvetica, B, 24) แล้ว add_text (หัวเรื่อง จัดกึ่งกลาง)
  3. set_font (helvetica, "", 12) แล้ว add_text (เนื้อความแบบจัดชิดขอบทั้งสองด้าน)
  4. set_font (courier, I, 10) แล้ว add_text (ตัวอย่างโค้ดสั้นๆ)
  5. 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
พารามิเตอร์สถานะข้อความควบคุมการเรนเดอร์ glyphISO 32000-2§9

ไม่เกี่ยวข้อง — เครื่องมือทั้งหมดเป็น Core

ทรานสปอร์ตพร้อมใช้งานหมายเหตุ
MCP (stdio)ใช่tools/call ต่อหนึ่งเครื่องมือ
RESTใช่หนึ่งการดำเนินการต่อหนึ่งเครื่องมือ
gRPCใช่แบบ unary ต่อหนึ่งเครื่องมือ

create_pdf ปลอดภัย; set_font/add_text ข้อควรระวัง; output_pdf ต้องได้รับการอนุมัติ ลดระดับลงเป็นตรวจทานในโหมด base64 (ระดับความเสี่ยง HITL)

ผลลัพธ์แบบ base64:

{ "allowed": true }