Attachments

Attachments

หน้านี้อธิบายการฝังไฟล์ภายใน PDF มีสองกลไกที่แตกต่างกัน: ไฟล์แนบระดับเอกสาร ซึ่งเป็นไฟล์ที่ฝังไว้โดยไม่มีการแสดงผลบนหน้าใด ๆ, และหมายเหตุการแนบไฟล์ที่ยึดกับหน้า ซึ่งวางไอคอนที่คลิกได้บนหน้าที่กำหนด.


ไฟล์แนบระดับเอกสาร

Document.AddAttachment() ฝัง bytes ภายใต้ name, ทำการ upsert ลงในต้นไม้ชื่อไฟล์ที่ฝังในเอกสาร — การเพิ่มอีกครั้งด้วยชื่อเดียวกันจะเขียนทับรายการที่มีอยู่เดิม. มันคืนค่า Attachment handle. Document.GetAttachments() คืนค่าไฟล์แนบระดับเอกสารทั้งหมดเป็นอาร์เรย์ของ Attachment handles, เรียงตามชื่อ, และ Document.RemoveAttachment() ลบไฟล์หนึ่งโดยระบุชื่อ.

Attachment handle เปิดเผย Name, Description, MimeType, Size, CreationDate และ ModDate เป็น property, GetBytes() เพื่ออ่านเนื้อหา raw ของไฟล์ที่ฝังกลับออก, และ GetField() / SetField() / RemoveField() สำหรับการเข้าถึงระดับล่างของฟิลด์ /Filespec แต่ละตัว. ตัวเลือก AttachmentOptions ที่ส่งให้กับ AddAttachment() ยอมรับ mimeType, description, compress, creationDate, และ modDate.

ไม่มีตัวอย่างโค้ดที่ตรวจสอบแล้วสำหรับ API นี้ในสแนปชอตความรู้ปัจจุบันของแพลตฟอร์มนี้ — ดูสรุป API Reference ด้านล่างเพื่อดูชื่อเมธอดและพร็อพเพอร์ตีที่แม่นยำ.


ไฟล์แนบที่ยึดกับหน้า

Page.AddFileAttachment() ฝังไฟล์และวางหมายเหตุไอคอน /FileAttachment ที่ rect ที่กำหนดบนหน้าที่ระบุ, ส่งคืน FileAttachmentAnnotation. แตกต่างจากการแนบระดับเอกสาร, ตัวนี้มองเห็นได้และคลิกได้ในโปรแกรมดู PDF. FileAttachmentAnnotation มีคุณสมบัติหมายเหตุทั่วไป (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) รวมถึง Icon และ FileName ของตนเอง, และรองรับ GetBytes() เพื่ออ่านเนื้อหาที่ฝังไว้และ Flatten() เพื่อฝังไอคอนของมันลงในเนื้อหาหน้าคงที่.


เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด

  • ใช้การแนบระดับเอกสาร (Document.AddAttachment()) สำหรับไฟล์ที่ควรพาไปกับ PDF โดยไม่ปรากฏบนหน้าใด; ใช้ Page.AddFileAttachment() เมื่อไฟล์ควรแสดงเป็นไอคอนที่คลิกได้ที่ตำแหน่งเฉพาะ.
  • Document.AddAttachment() จะเขียนทับการแนบที่มีอยู่ที่มี name เดียวกัน — ตรวจสอบ Document.GetAttachments() ก่อนหากคุณต้องการหลีกเลี่ยงการแทนที่โดยไม่ได้ตั้งใจ.
  • อ่านเนื้อหาการแนบกลับด้วย GetBytes() บนประเภทตัวจัดการใดก็ได้ — วิธีนี้มีอยู่ทั้งใน Attachment และ FileAttachmentAnnotation.

ปัญหาทั่วไป

ปัญหาสาเหตุวิธีแก้ไข
ไฟล์แนบที่เพิ่มใหม่ได้แทนที่ไฟล์ที่มีอยู่แล้วDocument.AddAttachment() ถูกเรียกใช้พร้อมกับ name ที่กำลังใช้งานอยู่แล้วเรียก Document.GetAttachments() ก่อนเพื่อตรวจสอบการชนของชื่อ
ไฟล์แนบไม่มีไอคอนที่มองเห็นบนหน้าDocument.AddAttachment() ถูกใช้ ซึ่งเป็นระดับเอกสารและโดยการออกแบบไม่มีการปรากฏบนหน้าใช้ Page.AddFileAttachment() แทนสำหรับไอคอนที่มองเห็นได้และแนบกับหน้า
Document.RemoveAttachment() ส่งคืน falseไม่มีไฟล์แนบที่มี name ที่ระบุอยู่ในโครงสร้างชื่อยืนยันชื่อที่แน่นอนผ่าน Document.GetAttachments() ก่อนทำการลบ

FAQ

ความแตกต่างระหว่าง Document.AddAttachment และ Page.AddFileAttachment คืออะไร?

Document.AddAttachment() ฝังไฟล์ในระดับเอกสารโดยไม่มีไอคอนที่มองเห็นได้บนหน้าใด ๆ. Page.AddFileAttachment() ฝังไฟล์และวางหมายเหตุไอคอน /FileAttachment ที่คลิกได้ในตำแหน่งเฉพาะบนหนึ่งหน้า.

ฉันจะลิสต์ส่วนแนบทั้งหมดที่ได้ฝังไว้ในเอกสารอย่างไร?

เรียก Document.GetAttachments() ซึ่งจะคืนค่าทุกส่วนแนบระดับเอกสารเป็นอาเรย์ของ Attachment แฮนด์เดิลที่เรียงตามชื่อ.

ฉันจะดึงเนื้อหาไฟล์ของส่วนแนบออกมาได้อย่างไร?

เรียก GetBytes() บนแฮนด์เดิล Attachment (หรือ FileAttachmentAnnotation) — มีให้ใช้บนทั้งสอง.

ฉันสามารถลบส่วนแนบได้ไหม?

ได้ — Document.RemoveAttachment(name) จะลบส่วนแนบระดับเอกสารตามชื่อและคืนค่าว่าพบและลบได้หรือไม่.


API Reference สรุป

คลาส/เมธอดคำอธิบาย
Document.AddAttachment()ฝังไบต์เป็นไฟล์แนบระดับเอกสารที่มีชื่อ
Document.GetAttachments()แสดงรายการเอกสารแนบระดับเอกสารทั้งหมด
Document.RemoveAttachment()ลบเอกสารแนบระดับเอกสารตามชื่อ
Attachmentจัดการไฟล์ที่ฝังมากกว่าหนึ่งไฟล์; Name, Description, MimeType, Size, GetBytes()
Page.AddFileAttachment()ฝังไฟล์เป็นไอคอนหมายเหตุที่คลิกได้และยึดกับหน้า
FileAttachmentAnnotationตัวจัดการคำอธิบายของไฟล์แนบที่อ้างอิงหน้า; เพิ่ม Icon, FileName

ดูเพิ่มเติม

 ภาษาไทย