วิธีทำงานกับไฟล์แนบ PDF ใน TypeScript
คู่มือนี้แสดงวิธีทำงานกับไฟล์แนบในเอกสาร PDF ด้วย Aspose.PDF FOSS สำหรับ TypeScript. Document.AddAttachment() ฝังไฟล์ระดับเอกสาร; Page.AddFileAttachment() วางหมายเหตุแบบคลิปกระดาษที่คลิกได้บนหน้าเพื่อเปิดไฟล์ที่ฝังไว้. ต้องการ Node.js 22 หรือใหม่กว่า.
คู่มือแบบขั้นตอนต่อขั้นตอน
ขั้นตอนที่ 1: ติดตั้งแพคเกจ
git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run buildยืนยันการติดตั้งโดยนำเข้า class Document ในไฟล์ TypeScript ใหม่ — บรรทัดนี้ควรทำงานโดยไม่มีข้อผิดพลาดเมื่อแพคเกจถูกติดตั้งแล้ว:
import { Document } from '@asposefoss/pdf';ขั้นตอนที่ 2: นำเข้าคลาสที่จำเป็น
นำเข้า Document เพื่อเปิดไฟล์และเข้าถึงจุดเริ่มต้นการแนบทั้งสองที่ใช้ด้านล่าง:
import { Document } from '@asposefoss/pdf';ขั้นตอนที่ 3: เปิดเอกสารเป้าหมาย
วิธีการแนบทั้งสองถูกเรียกบน Document ที่เปิดอยู่ — การแนบระดับ Page จำเป็นต้องใช้ Page เป้าหมายเพิ่มเติม:
const doc = Document.OpenFile('input.pdf');
const page = doc.Pages[0];ขั้นตอนที่ 4: ฝังการแนบระดับเอกสาร
Document.AddAttachment(name, bytes, opts) -> Attachment ฝังไฟล์เข้าสู่คอลเลกชันไฟล์ที่ฝังในเอกสาร โดยใช้คีย์เป็น name. Document.GetAttachments() -> Attachment[] แสดงรายการทั้งหมดที่ถูกฝังอยู่ในขณะนี้ และ Document.RemoveAttachment(name) -> boolean ลบไฟล์หนึ่งตามชื่อ.
ขั้นตอนที่ 5: เพิ่มคำอธิบายการแนบไฟล์ระดับหน้า
Page.AddFileAttachment(opts) -> FileAttachmentAnnotation วางไอคอนที่คลิกได้บนหน้า — คล้ายกับโน้ตติดและคำอธิบายข้อความอิสระที่อธิบายไว้ใน คำอธิบาย คู่มือ — ที่ผู้ชมเปิดเพื่อบันทึกหรือดูตัวอย่างไฟล์ที่ฝังไว้ ไม่เหมือนกับ Document.AddAttachment(), มันถูกยึดตำแหน่งบนหน้าเฉพาะแทนที่จะถูกแสดงเพียงในคอลเลกชันไฟล์ฝังของเอกสาร.
ปัญหาที่พบบ่อยและวิธีแก้ไข
ไฟล์แนบที่เพิ่มด้วย Document.AddAttachment() ไม่มีไอคอนที่มองเห็นได้บนหน้าใดเลย. นี่เป็นสิ่งที่คาดหวัง — ไฟล์แนบระดับเอกสารอยู่ในคอลเลกชันไฟล์ฝัง, ไม่ได้อยู่บนหน้า. ใช้ Page.AddFileAttachment() เพิ่มเติมหากต้องการไอคอนที่คลิกได้บนหน้าที่ระบุ.
Document.RemoveAttachment() returns false. มันคืนค่า false เมื่อไม่มีไฟล์แนบที่ลงทะเบียนภายใต้ค่าที่กำหนด name — แสดงรายการชุดปัจจุบันด้วย Document.GetAttachments() ก่อนเพื่อยืนยันชื่อที่ใช้จริง.
ไฟล์แนบสองไฟล์ถูกฝังภายใต้ชื่อเดียวกัน name. name in Document.AddAttachment() คือคีย์ที่ใช้เพื่อค้นหาไฟล์แนบ RemoveAttachment() — การใช้ชื่อซ้ำสำหรับการเรียกครั้งที่สองอาจทำให้ชื่อทับหรือขัดแย้งกับครั้งแรก ขึ้นอยู่กับว่าตัวดูจัดการสำเนาซ้ำอย่างไร ควรใช้ชื่อที่แตกต่างกันสำหรับแต่ละไฟล์ที่ฝัง.
คำถามที่พบบ่อย
ความแตกต่างระหว่างไฟล์แนบระดับเอกสารและไฟล์แนบระดับหน้า คืออะไร?
ไฟล์แนบระดับเอกสาร (Document.AddAttachment()) อยู่ในคอลเลกชัน embedded-files ของ PDF และไม่ได้ผูกกับหน้าใดเลย ไฟล์แนบระดับหน้า (Page.AddFileAttachment()) คือคำอธิบายที่ยึดตำแหน่งบนหน้าที่ระบุ คล้ายกับโน้ตกาว.
ฉันจะตรวจสอบว่าอะไรถูกฝังอยู่ในเอกสารในขณะนี้ได้อย่างไร?
เรียก Document.GetAttachments() ซึ่งจะคืนค่า Attachment ที่ฝังอยู่ในปัจจุบันทั้งหมด.
สามารถลบไฟล์แนบได้หลังจากที่เพิ่มแล้วหรือไม่?
ใช่ — Document.RemoveAttachment(name) จะลบไฟล์แนบระดับเอกสารตามชื่อที่ใช้ในการเพิ่ม และจะคืนค่า true หากพบและลบไฟล์แนบหนึ่งรายการ.