Hur man arbetar med PDF-bilagor i TypeScript
Denna guide visar hur man arbetar med filbilagor i PDF-dokument med Aspose.PDF FOSS för TypeScript. Document.AddAttachment() bäddar in en fil på dokumentnivå; Page.AddFileAttachment() placerar en klickbar gem-liknande annotation på en sida som öppnar den inbäddade filen. Den kräver Node.js 22 eller senare.
Steg-för-steg-guide
Steg 1: Installera paketet
git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run buildVerifiera installationen genom att importera Document-klassen i en ny TypeScript-fil — den här raden bör lösa sig utan fel när paketet är installerat:
import { Document } from '@asposefoss/pdf';Steg 2: Importera nödvändiga klasser
Importera Document för att öppna filen och nå båda bilagans ingångspunkter som används nedan:
import { Document } from '@asposefoss/pdf';Steg 3: Öppna måldokumentet
Båda bilagemetoderna anropas på en öppen Document — Page-nivå bilagor behöver dessutom mål-Page:
const doc = Document.OpenFile('input.pdf');
const page = doc.Pages[0];Steg 4: Bädda in en dokumentnivåbilaga
Document.AddAttachment(name, bytes, opts) -> Attachment bäddar in en fil i dokumentets samling av inbäddade filer, nycklad med name. Document.GetAttachments() -> Attachment[] listar allt som för närvarande är inbäddat, och Document.RemoveAttachment(name) -> boolean tar bort en efter namn.
Steg 5: Lägg till en sidnivåfilbilage-annotation
Page.AddFileAttachment(opts) -> FileAttachmentAnnotation placerar en klickbar ikon på sidan — liknande de klistermärke- och fri-text-anteckningarna som behandlas i Annoteringar guiden — som en visare öppnar för att spara eller förhandsgranska den inbäddade filen. Till skillnad från Document.AddAttachment(), är den förankrad till en specifik sidposition snarare än att bara listas i dokumentets embedded-files-samling.
Vanliga problem och lösningar
En bilaga som lagts till med Document.AddAttachment() har ingen synlig ikon på någon sida. Detta är förväntat — en bilaga på dokumentnivå finns i embedded-files-samlingen, inte på en sida. Använd Page.AddFileAttachment() ytterligare om en klickbar ikon på en specifik sida krävs.
Document.RemoveAttachment() returns false. Den returnerar false när ingen bilaga är registrerad under den angivna name — lista den aktuella uppsättningen med Document.GetAttachments() först för att bekräfta det exakta namnet som används.
Två bilagor bäddades in under samma name. name in Document.AddAttachment() är nyckeln som används för att slå upp bilagan med RemoveAttachment() — återanvändning av ett namn för ett andra anrop kan skugga eller krocka med det första, beroende på hur visaren hanterar dubbletter. Använd ett unikt namn för varje inbäddad fil.
Vanliga frågor
Vad är skillnaden mellan en dokumentnivå-bilaga och en sidnivå-bilaga?
En dokumentnivå-bilaga (Document.AddAttachment()) finns i PDF:ens samling embedded-files och är inte knuten till någon sida. En sidnivå-bilaga (Page.AddFileAttachment()) är en annotation förankrad till en specifik sidposition, liknande en post-it.
Hur ser jag vad som för närvarande är inbäddat i ett dokument?
Anropa Document.GetAttachments(), som returnerar alla för närvarande inbäddade Attachment.
Kan en bilaga tas bort efter att den har lagts till?
Ja — Document.RemoveAttachment(name) tar bort en bilaga på dokumentnivå utifrån det namn den lades till under, och returnerar true om den hittade och tog bort en.