Hur man arbetar med Core PDF API i TypeScript
Den här guiden visar hur man öppnar, skapar, redigerar, delar och sparar PDF-dokument med Aspose.PDF FOSS för TypeScript. Klasserna Document och Page är ingångspunkterna för varje operation i biblioteket — öppna och skapa filer, redigera sidor på plats, dela och kombinera dokument samt spara resultatet. Den kräver endast 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 klassen Document i en ny TypeScript-fil — den här raden bör lösas utan fel när paketet är installerat:
import { Document } from '@asposefoss/pdf';Steg 2: Importera erforderliga klasser
Importera Document för att läsa in eller skapa en PDF, och PageFormat om du planerar att börja ett dokument från början:
import { Document, PageFormat } from '@asposefoss/pdf';Steg 3: Öppna en befintlig PDF och redigera sidor
Document.OpenFile() öppnar en PDF från en filsökväg; Document.Open() accepterar ett Uint8Array i minnet. Sidor kan inspekteras och redigeras på plats, och Document.WriteTo() skriver resultatet tillbaka.
import { Document } from '@asposefoss/pdf';
// Open from disk (or Document.Open(uint8array) for in-memory data)
const doc = Document.OpenFile('input.pdf');
// Inspect and edit pages
const pages = doc.Pages;
console.log(pages.length);
pages[0].Rotate = 90;
doc.RemovePage(2); // 1-based page number
doc.Reorder([3, 1, 2]);
// Save
doc.WriteTo('output.pdf'); // or: const bytes = doc.Save();
Steg 4: Skapa en ny PDF från grunden
Document.New() startar ett tomt dokument på en given PageFormat. Page.AddText() placerar positionerad text, och Document.AddPage() lägger till ytterligare sidor.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4); // one blank A4 page
doc.Pages[0].AddText('Hello', 72, 720, { fontSize: 14 });
doc.AddPage(PageFormat.A4.landscape()); // append more as you go
doc.WriteTo('scratch.pdf');Steg 5: Dela, extrahera och kombinera sidor
Document.Split() returnerar en Document per sida. Document.ExtractPages() tar en 1-baserad, upprepningstillåten sidlista och returnerar en ny Document med endast dessa sidor. Document.Append() och Document.InsertPage() kopierar sidor mellan dokument, och Document.Merge() kombinerar flera dokument till ett.
const parts = doc.Split(); // one Document per page
const chapter = doc.ExtractPages([3, 4, 5]); // subset (1-based, repeats allowed) as a new Document
docA.Append(docB); // copy all of docB's pages onto docA
docA.InsertPage(1, docB.Pages[0]); // copy a single page across documents
Vanliga problem och lösningar
Document.OpenFile() throws InvalidPasswordError. PDF-filen är lösenordsskyddad och inget lösenord (eller fel lösenord) angavs. Pass { password: '...' } to Document.OpenFile() / Document.Open().
RemovePage() or ExtractPages() tar bort eller extraherar fel sida. Dessa metoder använder sidnummer med 1-bas, medan doc.Pages är en vanlig 0-baserad array — de två indexeringsschemana är lätta att blanda ihop.
WriteTo() utdata är större än förväntat. Standardlagringen använder inte xref/object-stream-komprimering. Pass { compressed: true } to Document.WriteTo() för att aktivera den.
Redigeringar gjorda på doc.Pages[i] visas inte i den sparade filen. Sidredigeringar måste ske innan anropet till Document.WriteTo() / Document.Save() — det finns inget separat “commit”-steg, men redigeringar som görs efter sparandet kommer inte att återspeglas i en fil som redan har skrivits till disk.
Vanliga frågor
Hur laddar jag en PDF från en minnesbuffert istället för en filsökväg?
Skicka ett Uint8Array till Document.Open() istället för en sökväg till Document.OpenFile().
Hur roterar jag en sida?
Ställ in page.Rotate till 90, 180 eller 270, spara sedan dokumentet med Document.WriteTo().
Kan jag kopiera en enskild sida från ett dokument till ett annat?
Ja — Document.InsertPage(at, sourcePage) kopierar en sida från ett annat dokument på den angivna 1-baserade positionen, utan att kopiera hela dokumentet.
Tillåter Document.ExtractPages() att samma sida visas två gånger?
Ja. Sidnumreringslistan som skickas till Document.ExtractPages() tillåter upprepningar, så samma källsida kan visas mer än en gång i resultatet.