Attachments
Attachments
Această pagină descrie încorporarea fișierelor într-un PDF. Există două mecanisme distincte: atașamente în document, care sunt fișiere încorporate fără nicio prezență vizibilă pe pagini, și adnotări de atașare a fișierelor fixate pe pagină, care plasează o pictogramă clicabilă pe o pagină specifică.
Atașamente în document
Document.AddAttachment() încorporează bytes sub un name, inserându-l în arborele de nume al fișierelor încorporate ale documentului — adăugarea lui din nou cu același nume suprascrie intrarea existentă. Returnează un Attachment handle. Document.GetAttachments() returnează fiecare atașament în document ca un tablou de Attachment handle-uri, ordonate alfabetical, iar Document.RemoveAttachment() elimină unul după nume.
Handle-ul Attachment expune Name, Description, MimeType, Size, CreationDate și ModDate ca proprietăţi, GetBytes() pentru a citi conţinutul brut al fișierului încorporat, și GetField() / SetField() / RemoveField() pentru acces de nivel inferior la câmpurile individuale /Filespec. Parametrul opţional AttachmentOptions transmis către AddAttachment() acceptă mimeType, description, compress, creationDate și modDate.
Nu există niciun exemplu de cod verificat pentru acest API în snap-shot-ul curent de cunoștințe pentru această platformă — consultaţi rezumatul API Reference de mai jos pentru denumirile exacte ale metodelor și proprietăților.
Atașamente de fișiere fixate pe pagină
Page.AddFileAttachment() încorporează un fișier și plasează o adnotare cu iconiță /FileAttachment la un rect specific pe o pagină dată, returnând un FileAttachmentAnnotation. Spre deosebire de o atașare la nivel de document, aceasta este vizibilă și clicabilă în vizualizatorul PDF. FileAttachmentAnnotation are proprietățile comune ale adnotărilor (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) plus propriile Icon și FileName, și suportă GetBytes() pentru a citi conținutul încorporat și Flatten() pentru a fixa iconița în conținutul static al paginii.
Sfaturi și bune practici
- Folosește o atașare la nivel de document (
Document.AddAttachment()) pentru un fișier care trebuie să călătorească împreună cu PDF-ul fără să apară pe nicio pagină; foloseștePage.AddFileAttachment()când fișierul trebuie să fie reprezentat printr-o iconiță clicabilă într-o locație specifică. Document.AddAttachment()suprascrie o atașare existentă cu acelașiname— verifică mai întâiDocument.GetAttachments()dacă vrei să eviți înlocuirea accidentală.- Citește conținutul unei atașări cu
GetBytes()pe oricare tip de handle — metoda există atât peAttachment, cât și peFileAttachmentAnnotation.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
| Un atașament adăugat recent a înlocuit unul existent | Document.AddAttachment() a fost apelat cu un name deja în uz | Apelă mai întâi Document.GetAttachments() pentru a verifica coliziunea de nume |
| Atașamentul nu are niciun icon vizibil pe pagină | Document.AddAttachment() a fost utilizat, fiind la nivel de document și, prin design, nu are prezență pe pagină | Utilizați Page.AddFileAttachment() în schimb pentru o pictogramă vizibilă, ancorată pe pagină |
Document.RemoveAttachment() returnează false | Nu există nicio atașare cu name specificat în arborele de nume | Confirmați numele exact prin Document.GetAttachments() înainte de a șterge |
FAQ
Care este diferența dintre Document.AddAttachment și Page.AddFileAttachment?
Document.AddAttachment() încorporează un fișier la nivelul documentului fără niciun icon vizibil pe nicio pagină. Page.AddFileAttachment() încorporează un fișier și plasează o adnotare cu iconul /FileAttachment clicabilă într-o locație specifică pe o pagină.
Cum pot lista fiecare atașament deja încorporat într-un document?
Apelă Document.GetAttachments(), care returnează toate atașamentele din document sub formă de un tablou de referințe Attachment sortate alfabetic.
Cum pot citi conținutul fișierului unui atașament?
Apelă GetBytes() pe referința Attachment (sau FileAttachmentAnnotation) — este disponibilă în ambele cazuri.
Pot elimina un atașament?
Da — Document.RemoveAttachment(name) elimină un atașament din document după nume și returnează dacă a fost găsit și eliminat.
API Reference Rezumat
| Clasă/Metodă | Descriere: |
|---|---|
Document.AddAttachment() | Încorporați octeții ca o atașare denumită, la nivel de document |
Document.GetAttachments() | Afișează toate atașamentele asociate documentului |
Document.RemoveAttachment() | Șterge un atașament al documentului după nume |
Attachment | Gestionează mai multe fișiere încorporate; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | Încorporează un fișier ca o adnotare sub formă de pictogramă clicabilă, fixată pe pagină |
FileAttachmentAnnotation | Mânerul de adnotare al atașamentului ancorat pe pagină; adaugă Icon, FileName |