Attachments
Attachments
Trang này đề cập đến việc nhúng tệp vào trong PDF. Có hai cơ chế riêng biệt: tệp đính kèm ở mức tài liệu, là các tệp được nhúng mà không xuất hiện trên bất kỳ trang nào, và các chú thích tệp đính kèm gắn vào trang, đặt một biểu tượng có thể nhấp vào trên một trang cụ thể.
Tệp Đính Kèm Cấp Tài Liệu
Document.AddAttachment() nhúng bytes dưới một name, thực hiện upsert vào cây tên tệp nhúng của tài liệu — việc thêm lại với cùng tên sẽ ghi đè mục hiện có. Nó trả về một Attachment handle. Document.GetAttachments() trả về mọi tệp đính kèm cấp tài liệu dưới dạng một mảng các Attachment handle, sắp xếp theo tên, và Document.RemoveAttachment() xóa một tệp theo tên.
Handle Attachment cung cấp Name, Description, MimeType, Size, CreationDate và ModDate như các thuộc tính, GetBytes() để đọc lại nội dung thô của tệp nhúng, và GetField() / SetField() / RemoveField() để truy cập cấp thấp hơn vào các trường /Filespec riêng lẻ. Tham số tùy chọn AttachmentOptions được truyền cho AddAttachment() chấp nhận mimeType, description, compress, creationDate và modDate.
Không có ví dụ mã đã được xác minh nào cho API này trong bản snapshot kiến thức hiện tại cho nền tảng này — xem Tóm tắt API Reference bên dưới để biết phương pháp và tên thuộc tính chính xác.
Tệp Đính Kèm Gắn Vào Trang
Page.AddFileAttachment() nhúng một tệp và đặt một chú thích biểu tượng /FileAttachment tại một rect cho trước trên một trang cụ thể, trả về một FileAttachmentAnnotation. Không giống như tệp đính kèm cấp tài liệu, tệp này hiển thị và có thể nhấp chuột trong trình xem PDF. FileAttachmentAnnotation chia sẻ các thuộc tính chú thích chung (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) cùng với Icon và FileName riêng của nó, và hỗ trợ GetBytes() để đọc nội dung nhúng và Flatten() để nhúng biểu tượng của nó vào nội dung trang tĩnh.
Mẹo và Thực hành tốt nhất
- Sử dụng tệp đính kèm cấp tài liệu (
Document.AddAttachment()) cho một tệp cần đi kèm với PDF mà không xuất hiện trên bất kỳ trang nào; sử dụngPage.AddFileAttachment()khi tệp cần được đại diện bằng một biểu tượng có thể nhấp chuột tại một vị trí cụ thể. Document.AddAttachment()ghi đè lên tệp đính kèm hiện có có cùngname— hãy kiểm traDocument.GetAttachments()trước nếu bạn cần tránh việc thay thế một cách không cố ý.- Đọc lại nội dung của tệp đính kèm bằng
GetBytes()trên bất kỳ loại handle nào — phương thức này tồn tại trên cảAttachmentvàFileAttachmentAnnotation.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Một tệp đính kèm mới được thêm đã thay thế tệp đã tồn tại | Document.AddAttachment() đã được gọi với một name đã được sử dụng | Gọi Document.GetAttachments() trước để kiểm tra trùng tên |
| Tệp đính kèm không có biểu tượng hiển thị trên trang | Document.AddAttachment() đã được sử dụng, đây là cấp độ tài liệu và theo thiết kế không có mặt trên trang | Sử dụng Page.AddFileAttachment() thay cho một biểu tượng có thể nhìn thấy, được neo vào trang |
Document.RemoveAttachment() trả về false | Không có tệp đính kèm nào với name đã cho tồn tại trong cây tên | Xác nhận tên chính xác qua Document.GetAttachments() trước khi xóa |
FAQ
Sự khác biệt giữa Document.AddAttachment và Page.AddFileAttachment là gì?
Document.AddAttachment() nhúng một tệp ở mức độ tài liệu mà không có biểu tượng nào hiển thị trên bất kỳ trang nào. Page.AddFileAttachment() nhúng một tệp và đặt một chú thích biểu tượng /FileAttachment có thể nhấp được tại một vị trí cụ thể trên một trang.
Làm thế nào để tôi liệt kê mọi tệp đính kèm đã được nhúng trong tài liệu?
Gọi Document.GetAttachments(), hàm này trả về mọi tệp đính kèm ở mức độ tài liệu dưới dạng một mảng các handle Attachment được sắp xếp theo tên.
Làm thế nào để tôi đọc lại nội dung tệp của tệp đính kèm?
Gọi GetBytes() trên handle Attachment (hoặc FileAttachmentAnnotation) — nó có sẵn cho cả hai.
Tôi có thể xóa một tệp đính kèm không?
Có — Document.RemoveAttachment(name) xóa một tệp đính kèm ở mức độ tài liệu theo tên và trả về liệu có tệp nào được tìm thấy và xóa không.
API Reference Tóm tắt
| Lớp/Phương thức | Mô tả |
|---|---|
Document.AddAttachment() | Nhúng các byte dưới dạng tệp đính kèm có tên, ở cấp độ tài liệu |
Document.GetAttachments() | Liệt kê tất cả các tệp đính kèm cấp tài liệu |
Document.RemoveAttachment() | Xóa tệp đính kèm cấp tài liệu theo tên |
Attachment | Xử lý hơn một tệp nhúng; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | Nhúng một tệp dưới dạng chú thích biểu tượng có thể nhấp và gắn vào trang |
FileAttachmentAnnotation | Trình xử lý chú thích của tệp đính kèm gắn vào trang; thêm Icon, FileName |