Attachments
Attachments
Halaman ini membahas cara menyematkan file di dalam PDF. Ada dua mekanisme yang berbeda: lampiran tingkat dokumen, yang merupakan file yang disematkan tanpa kehadiran yang terlihat pada halaman mana pun, dan anotasi lampiran file yang terikat pada halaman, yang menempatkan ikon yang dapat diklik pada halaman tertentu.
Lampiran Tingkat Dokumen
Document.AddAttachment() menyematkan bytes di bawah name, melakukan upsert ke dalam pohon nama file tersemat dokumen — menambahkannya lagi dengan nama yang sama akan menimpa entri yang ada. Ini mengembalikan handle Attachment. Document.GetAttachments() mengembalikan setiap lampiran tingkat dokumen sebagai array dari handle Attachment, diurutkan berdasarkan nama, dan Document.RemoveAttachment() menghapus satu berdasarkan nama.
Handle Attachment mengekspos Name, Description, MimeType, Size, CreationDate, dan ModDate sebagai properti, GetBytes() untuk membaca konten mentah file yang disematkan, serta GetField() / SetField() / RemoveField() untuk akses tingkat lebih rendah ke masing-masing bidang /Filespec. AttachmentOptions opsional yang diteruskan ke AddAttachment() menerima mimeType, description, compress, creationDate, dan modDate.
Tidak ada contoh kode yang terverifikasi tersedia untuk API ini dalam snapshot pengetahuan saat ini untuk platform ini — lihat Ringkasan API Reference di bawah untuk metode dan nama properti yang tepat.
Lampiran File Terikat Halaman
Page.AddFileAttachment() menyematkan sebuah file dan menempatkan anotasi ikon /FileAttachment pada rect yang diberikan pada halaman spesifik, mengembalikan FileAttachmentAnnotation. Berbeda dengan lampiran tingkat dokumen, yang ini terlihat dan dapat diklik di penampil PDF. FileAttachmentAnnotation berbagi properti anotasi umum (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) serta Icon dan FileName miliknya sendiri, dan mendukung GetBytes() untuk membaca konten yang disematkan serta Flatten() untuk menanamkan ikonnya ke dalam konten halaman statis.
Tips dan Praktik Terbaik
- Gunakan lampiran tingkat dokumen (
Document.AddAttachment()) untuk file yang harus menyertai PDF tanpa muncul pada halaman mana pun; gunakanPage.AddFileAttachment()ketika file harus direpresentasikan oleh ikon yang dapat diklik pada lokasi tertentu. Document.AddAttachment()menimpa lampiran yang ada dengannameyang sama — periksaDocument.GetAttachments()terlebih dahulu jika Anda perlu menghindari penggantian yang tidak disengaja.- Baca kembali konten lampiran dengan
GetBytes()pada kedua jenis handle — metode ini ada padaAttachmentdanFileAttachmentAnnotation.
Masalah Umum
| Masalah | Penyebab | Perbaikan |
|---|---|---|
| Lampiran yang baru ditambahkan menggantikan yang sudah ada | Document.AddAttachment() dipanggil dengan name yang sudah digunakan | Panggil Document.GetAttachments() terlebih dahulu untuk memeriksa bentrok nama |
| Lampiran tidak memiliki ikon yang terlihat pada halaman | Document.AddAttachment() digunakan, yang bersifat level dokumen dan secara desain tidak memiliki kehadiran pada halaman | Gunakan Page.AddFileAttachment() sebagai gantinya untuk ikon yang terlihat dan terikat pada halaman |
Document.RemoveAttachment() mengembalikan false | Tidak ada lampiran dengan name yang diberikan dalam pohon nama | Konfirmasikan nama tepat melalui Document.GetAttachments() sebelum menghapus |
FAQ
Apa perbedaan antara Document.AddAttachment dan Page.AddFileAttachment?
Document.AddAttachment() menyisipkan sebuah file pada tingkat dokumen tanpa ikon yang terlihat di halaman manapun. Page.AddFileAttachment() menyisipkan sebuah file dan menempatkan anotasi ikon /FileAttachment yang dapat diklik pada lokasi spesifik di satu halaman.
Bagaimana cara saya mencantumkan setiap lampiran yang sudah disisipkan dalam sebuah dokumen?
Panggil Document.GetAttachments(), yang mengembalikan setiap lampiran tingkat dokumen sebagai array dari handle Attachment yang diurutkan berdasarkan nama.
Bagaimana cara membaca kembali konten file lampiran?
Panggil GetBytes() pada handle Attachment (atau FileAttachmentAnnotation) — tersedia pada keduanya.
Bisakah saya menghapus sebuah lampiran?
Ya — Document.RemoveAttachment(name) menghapus lampiran tingkat dokumen berdasarkan nama dan mengembalikan apakah ada yang ditemukan dan dihapus.
API Reference Ringkasan
| Kelas/Metode | Deskripsi |
|---|---|
Document.AddAttachment() | Sematkan byte sebagai lampiran ber-nama pada tingkat dokumen |
Document.GetAttachments() | Daftar semua lampiran tingkat dokumen |
Document.RemoveAttachment() | Hapus lampiran tingkat dokumen dengan nama |
Attachment | Tangani satu berkas yang disematkan; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | Sematkan berkas sebagai anotasi ikon yang dapat diklik dan terikat pada halaman |
FileAttachmentAnnotation | Pegangan anotasi lampiran yang terikat pada halaman; menambahkan Icon, FileName |