Attachments
Attachments
Tato stránka popisuje vkládání souborů do PDF. Existují dva odlišné mechanismy: přílohy na úrovni dokumentu, což jsou vložené soubory bez viditelné přítomnosti na jakékoli stránce, a anotace příloh ukotvených na stránce, které umisťují klikací ikonu na konkrétní stránku.
Přílohy na úrovni dokumentu
Document.AddAttachment() vloží bytes pod name, provede upsert do stromu názvů vložených souborů dokumentu — přidání znovu se stejným názvem přepíše existující položku. Vrací Attachment handle. Document.GetAttachments() vrací každou přílohu na úrovni dokumentu jako pole Attachment handle, seřazené podle názvu, a Document.RemoveAttachment() odstraní jednu podle názvu.
Handle Attachment vystavuje Name, Description, MimeType, Size, CreationDate a ModDate jako vlastnosti, GetBytes() pro čtení surového obsahu vloženého souboru, a GetField() / SetField() / RemoveField() pro nízkoúrovňový přístup k jednotlivým polím /Filespec. Volitelný AttachmentOptions předávaný AddAttachment() přijímá mimeType, description, compress, creationDate a modDate.
Pro tento API není v aktuálním výřezu znalostí pro tuto platformu k dispozici žádný ověřený ukázkový kód — podívejte se na souhrn API Reference níže pro přesné názvy metod a vlastností.
Přílohy souborů ukotvené na stránce
Page.AddFileAttachment() vloží soubor a umístí anotaci ikony /FileAttachment na daný rect na konkrétní stránce, vrátí FileAttachmentAnnotation. Na rozdíl od přílohy na úrovni dokumentu je tato viditelná a kliknutelná v PDF prohlížeči. FileAttachmentAnnotation sdílí běžné vlastnosti anotací (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) plus své vlastní Icon a FileName, a podporuje GetBytes() pro čtení vloženého obsahu a Flatten() pro vložení ikony do statického obsahu stránky.
Tipy a osvědčené postupy
- Použijte přílohu na úrovni dokumentu (
Document.AddAttachment()) pro soubor, který má být součástí PDF, aniž by se zobrazoval na žádné stránce; použijtePage.AddFileAttachment(), když má být soubor reprezentován kliknutelnou ikonou na konkrétním místě. Document.AddAttachment()přepíše existující přílohu se stejnýmname— nejprve zkontrolujteDocument.GetAttachments(), pokud potřebujete zabránit neúmyslnému nahrazení.- Přečtěte obsah přílohy zpět pomocí
GetBytes()na libovolném typu handle — metoda existuje jak naAttachment, tak naFileAttachmentAnnotation.
Časté problémy
| Problém | Příčina | Oprava |
|---|---|---|
| Nově přidaná příloha nahradila existující. | Document.AddAttachment() byl volán s name již v použití | Nejprve zavolejte Document.GetAttachments() a zkontrolujte kolizi názvu |
| Příloha nemá na stránce viditelnou ikonu | Document.AddAttachment() byl použit, což je na úrovni dokumentu a záměrně nemá žádnou přítomnost na stránce | Použijte Page.AddFileAttachment() místo toho pro viditelnou, na stránce ukotvenou ikonu |
Document.RemoveAttachment() vrací false | Příloha s daným name v názvovém stromu neexistuje | Před odstraněním potvrďte přesný název pomocí Document.GetAttachments() |
FAQ
Jaký je rozdíl mezi Document.AddAttachment a Page.AddFileAttachment?
Document.AddAttachment() vloží soubor na úrovni dokumentu bez viditelné ikony na jakékoli stránce. Page.AddFileAttachment() vloží soubor a umístí klikací anotaci ikony /FileAttachment na konkrétní místo na jedné stránce.
Jak mohu vypsat všechny přílohy, které jsou již vloženy do dokumentu?
Zavolejte Document.GetAttachments(), která vrací všechny přílohy na úrovni dokumentu jako pole Attachment handle seřazených podle názvu.
Jak mohu přečíst obsah souboru přílohy zpět?
Zavolejte GetBytes() na Attachment (nebo FileAttachmentAnnotation) handle — je k dispozici u obou.
Mohu odstranit přílohu?
Ano — Document.RemoveAttachment(name) odstraní přílohu na úrovni dokumentu podle názvu a vrátí, zda byla nalezena a odstraněna.
API Reference Shrnutí
| Třída/Metoda | Popis: |
|---|---|
Document.AddAttachment() | Vložte bajty jako pojmenovanou přílohu na úrovni dokumentu |
Document.GetAttachments() | Vypsat každou přílohu na úrovni dokumentu |
Document.RemoveAttachment() | Odstraňte přílohu na úrovni dokumentu podle názvu |
Attachment | Zpracujte jeden vložený soubor; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | Vložte soubor jako ukotvenou na stránce, klikací ikonu anotace |
FileAttachmentAnnotation | Ukazatel anotace přílohy ukotvené na stránce; přidává Icon, FileName |