Attachments
Attachments
Ta strona opisuje osadzanie plików w pliku PDF. Istnieją dwa odrębne mechanizmy: załączniki na poziomie dokumentu, które są osadzonymi plikami bez widocznej obecności na żadnej stronie, oraz adnotacje załączników plików zakotwiczonych do stron, które umieszczają klikalną ikonę na konkretnej stronie.
Załączniki na poziomie dokumentu
Document.AddAttachment() osadza bytes pod name, wstawiając go do drzewa nazw osadzonych plików dokumentu — ponowne dodanie z tą samą nazwą nadpisuje istniejący wpis. Zwraca uchwyt Attachment. Document.GetAttachments() zwraca każdy załącznik dokumentowy jako tablicę uchwytów Attachment, posortowaną według nazwy, a Document.RemoveAttachment() usuwa go po nazwie.
Uchwyt Attachment udostępnia Name, Description, MimeType, Size, CreationDate oraz ModDate jako właściwości, GetBytes() do odczytania surowej zawartości osadzonego pliku, oraz GetField() / SetField() / RemoveField() zapewniają dostęp na niższym poziomie do poszczególnych pól /Filespec. Opcjonalny AttachmentOptions przekazywany do AddAttachment() akceptuje mimeType, description, compress, creationDate oraz modDate.
Brak zweryfikowanego przykładu kodu dla tego API w bieżącym podglądzie wiedzy dla tej platformy — zobacz podsumowanie API Reference poniżej, aby poznać dokładne nazwy metod i właściwości.
Załączniki plików zakotwiczonych do stron
Page.AddFileAttachment() osadza plik i umieszcza adnotację ikony /FileAttachment w określonym rect na konkretnej stronie, zwracając FileAttachmentAnnotation. W odróżnieniu od załącznika na poziomie dokumentu, ten jest widoczny i klikalny w przeglądarce PDF. FileAttachmentAnnotation posiada wspólne właściwości adnotacji (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) oraz własne Icon i FileName, i obsługuje GetBytes() do odczytu osadzonej zawartości oraz Flatten() do wstawienia ikony jako statycznej treści strony.
Wskazówki i dobre praktyki
- Użyj załącznika na poziomie dokumentu (
Document.AddAttachment()) dla pliku, który ma podróżować z PDF-em bez pojawiania się na żadnej stronie; użyjPage.AddFileAttachment(), gdy plik ma być przedstawiony jako klikalna ikona w określonym miejscu. Document.AddAttachment()nadpisuje istniejący załącznik o tym samymname— najpierw sprawdźDocument.GetAttachments(), jeśli chcesz uniknąć niezamierzonego zastąpienia.- Odczytaj zawartość załącznika przy użyciu
GetBytes()dla dowolnego typu uchwytu — metoda jest dostępna zarówno wAttachment, jak i wFileAttachmentAnnotation.
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Nowo dodany załącznik zastąpił istniejący | Wywołano Document.AddAttachment() z name już używanym | Najpierw wywołaj Document.GetAttachments(), aby sprawdzić kolizję nazw |
| Załącznik nie ma widocznej ikony na stronie | Document.AddAttachment() został użyty, co jest na poziomie dokumentu i nie ma obecności na stronie ze względu na projekt | Użyj Page.AddFileAttachment() zamiast tego, aby uzyskać widoczny, zakotwiczony na stronie ikonę |
Document.RemoveAttachment() zwraca false | Brak załącznika z podanym name w drzewie nazw | Potwierdź dokładną nazwę przy użyciu Document.GetAttachments() przed usunięciem |
FAQ
Jaka jest różnica między Document.AddAttachment a Page.AddFileAttachment?
Document.AddAttachment() osadza plik w obrębie dokumentu bez widocznej ikony na żadnej stronie. Page.AddFileAttachment() osadza plik i umieszcza klikalną adnotację ikony /FileAttachment w określonym miejscu na jednej stronie.
Jak mogę wylistować wszystkie załączniki już osadzone w dokumencie?
Wywołaj Document.GetAttachments(), które zwraca wszystkie załączniki w dokumencie jako tablicę uchwytów Attachment posortowaną wg nazwy.
Jak odczytać zawartość pliku załącznika?
Wywołaj GetBytes() na uchwycie Attachment (lub FileAttachmentAnnotation) — jest dostępny w obu przypadkach.
Czy mogę usunąć załącznik?
Tak — Document.RemoveAttachment(name) usuwa załącznik w dokumencie po nazwie i zwraca informację, czy został znaleziony i usunięty.
API Reference Podsumowanie
| Klasa/Metoda | Opis |
|---|---|
Document.AddAttachment() | Osadź bajty jako nazwany, załącznik na poziomie dokumentu |
Document.GetAttachments() | Wypisz wszystkie załączniki na poziomie dokumentu |
Document.RemoveAttachment() | Usuń załącznik na poziomie dokumentu według nazwy |
Attachment | Obsłuż więcej niż jeden osadzony plik; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | Osadź plik jako adnotację w postaci ikony, klikalną i przypisaną do strony |
FileAttachmentAnnotation | Uchwyt adnotacji załącznika przypisanego do strony; dodaje Icon, FileName |