Attachments
Attachments
Den här sidan beskriver inbäddning av filer i en PDF. Det finns två olika mekanismer: dokumentnivåbilagor, som är inbäddade filer utan någon synlig närvaro på någon sida, och sidankrade filbilagsannotationer, som placerar en klickbar ikon på en specifik sida.
Dokumentnivåbilagor
Document.AddAttachment() bäddar in bytes under en name, uppdaterar eller lägger till den i dokumentets namnträd för inbäddade filer — att lägga till den igen med samma namn skriver över den befintliga posten. Den returnerar ett Attachment-handtag. Document.GetAttachments() returnerar varje dokumentnivåbilaga som en array av Attachment-handtag, sorterade efter namn, och Document.RemoveAttachment() tar bort en efter namn.
Det Attachment-handtaget exponerar Name, Description, MimeType, Size, CreationDate och ModDate som egenskaper, GetBytes() för att läsa den inbäddade filens råa innehåll, och GetField() / SetField() / RemoveField() för lägre nivå-åtkomst till enskilda /Filespec-fält. Det valfria AttachmentOptions som skickas till AddAttachment() accepterar mimeType, description, compress, creationDate och modDate.
Ingen verifierad kodexempel är tillgängligt för detta API i den aktuella kunskapsavbilden för denna plattform — se API Reference-sammanfattningen nedan för de exakta metod- och egenskapsnamnen.
Sidankrade filbilagor
Page.AddFileAttachment() bäddar in en fil och placerar en /FileAttachment ikonannotation på en given rect på en specifik sida, och returnerar en FileAttachmentAnnotation. Till skillnad från en bilaga på dokumentnivå är denna synlig och klickbar i en PDF-visare. FileAttachmentAnnotation delar de vanliga annoteringsegenskaperna (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) samt sina egna Icon och FileName, och stöder GetBytes() för att läsa det inbäddade innehållet samt Flatten() för att baka in dess ikon i statiskt sidinnehåll.
Tips och bästa praxis
- Använd en bilaga på dokumentnivå (
Document.AddAttachment()) för en fil som ska följa med PDF-filen utan att visas på någon sida; användPage.AddFileAttachment()när filen ska representeras av en klickbar ikon på en specifik plats. Document.AddAttachment()skriver över en befintlig bilaga med sammaname— kontrolleraDocument.GetAttachments()först om du vill undvika att ersätta en av misstag.- Läs tillbaka en bilagas innehåll med
GetBytes()på båda handlagstyperna — metoden finns både påAttachmentochFileAttachmentAnnotation.
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
| En ny bilaga ersatte en befintlig | Document.AddAttachment() anropades med en name som redan är i bruk | Anropa Document.GetAttachments() först för att kontrollera en namnkollision |
| Bilagan har ingen synlig ikon på sidan | Document.AddAttachment() användes, vilket är på dokumentnivå och medvetet saknar närvaro på sidan | Använd Page.AddFileAttachment() istället för en synlig, sidankrad ikon |
Document.RemoveAttachment() returnerar false | Ingen bilaga med den angivna name finns i namnträdet | Bekräfta det exakta namnet via Document.GetAttachments() innan du tar bort |
FAQ
Vad är skillnaden mellan Document.AddAttachment och Page.AddFileAttachment?
Document.AddAttachment() bäddar in en fil på dokumentnivå utan någon synlig ikon på någon sida. Page.AddFileAttachment() bäddar in en fil och placerar en klickbar /FileAttachment ikonannotation på en specifik plats på en sida.
Hur listar jag alla bilagor som redan är inbäddade i ett dokument?
Anropa Document.GetAttachments(), som returnerar varje dokumentnivå-bilaga som en array av Attachment-handtag sorterade efter namn.
Hur läser jag filinnehållet i en bilaga?
Anropa GetBytes() på Attachment (eller FileAttachmentAnnotation)-handtaget — det är tillgängligt på båda.
Kan jag ta bort en bilaga?
Ja — Document.RemoveAttachment(name) tar bort en dokumentnivå-bilaga efter namn och returnerar om en sådan hittades och togs bort.
API Reference Sammanfattning
| Klass/Metod | Beskrivning |
|---|---|
Document.AddAttachment() | Bädda in byte som en namngiven bilaga på dokumentnivå |
Document.GetAttachments() | Lista alla bilagor på dokumentnivå |
Document.RemoveAttachment() | Ta bort en bilaga på dokumentnivå efter namn |
Attachment | Hantera en inbäddad fil; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | Bädda in en fil som en sidankrad, klickbar ikonannotation |
FileAttachmentAnnotation | Den sidankrade bilagans annoteringshandtag; lägger till Icon, FileName |