Dokumenthantering

Dokumenthantering

Dokumenthantering

Document är rotobjektet i Aspose.PDF FOSS för .NET. Det representerar en
hel PDF‑fil och ger åtkomst till sidor, metadata, formulärfält och alla
andra PDF‑strukturer. Öppna befintliga filer med Document.Open och skapa nya
med Document‑konstruktorn.


Öppna och skapa dokument

// Open from a byte array
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));

// Open from a file path
using var doc2 = new Document("input.pdf");

// Create a new empty document
using var newDoc = new Document();
newDoc.Pages.Add();
newDoc.Save("new.pdf");

Arbeta med sidor

PageCollection hanterar dokumentets sidor. Åtkomst till sidor med 1-baserat index, lägg till nya sidor eller ta bort befintliga.

using var doc = Document.Open(pdfBytes);

// Access first page
var page = doc.Pages[1];

// Add a blank page
var newPage = doc.Pages.Add();

// Get page count
int count = doc.Pages.Count;

Sidgeometri

Varje sida definierar flera avgränsningsrutor. Använd setter‑metoderna på Page för att justera dem.

var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);

Spara dokument

Spara till en filsökväg, en ström eller en bytearray.

// Save to file
doc.Save("output.pdf");

// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);

Filbilagor

FileSpecification representerar inbäddade filbilagor i en PDF.

var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);

Bildstämplar

ImageStamp lägger över en rasterbild på en sida på en angiven position.

var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");

Operatörssamlingar

OperatorCollection på varje sida innehåller de råa content‑stream‑operatörerna. Använd den för låg‑nivå innehållsinspektion eller manipulation.

var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
    // Inspect each operator
}

Tips och bästa praxis

  • Omge Document med ett using‑uttalande för att frigöra filhandtag omedelbart.
  • Använd Document.Open(byte[]) för arbetsflöden i minnet för att undvika fil‑låsningsproblem.
  • Modifiera sidboxar (MediaBox, CropBox) innan du lägger till innehåll för att säkerställa korrekt koordinatrymd.
  • Anropa Save endast en gång efter alla ändringar — upprepade sparningar är långsammare men säkra.
  • Använd PageCollection.Accept(AnnotationSelector) för att batch‑processa annotationer på alla sidor.

Vanliga problem

IssueCauseFix
Document.Open kastar på giltig PDFFilen är krypterad med ett lösenordAnge lösenordsparametern i konstruktorn
Sidantalet är 0 efter konstruktionNy Document() startar tomAnropa doc.Pages.Add() för att lägga till en tom sida
Sparad fil är större än förväntatBilder eller teckensnitt inbäddade flera gångerAnvänd optimering (se Conversion and Optimization guide)
Pages[0] kastar indexfelSidor är 1-baserade, inte 0-baseradeAnvänd Pages[1] för den första sidan

FAQ

Hur slår jag ihop två PDF-dokument?

Använd PdfFileEditor.Concatenate från Facades API, eller kopiera sidor manuellt från ett dokument till ett annat med hjälp av PageCollection.

Kan jag öppna en PDF från en URL eller en ström?

Ja. Läs URL‑innehållet in i en byte[] först, och skicka sedan det till Document.Open(byte[]).

Hur tar jag bort en sida?

Anropa doc.Pages.Delete(pageNumber) där pageNumber är 1-baserad.

Är Document trådsäker?

Nej. Varje tråd bör arbeta med sin egen Document-instans.


API-referenssammanfattning

Class / MethodDescription
DocumentRot‑PDF‑objekt; innehåller sidor, metadata och formulärfält
Document.OpenStatisk fabrik för att öppna en PDF från en bytearray
Document.SaveSerialisera dokumentet till en fil eller ström
PageEnskild PDF‑sida med innehåll, annotationer och geometri
Page.SetMediaBoxDefiniera sidans mediabox
Page.SetCropBoxDefiniera det synliga beskärningsområdet
Page.SetRotationRotera sidan med 0, 90, 180 eller 270 grader
PageCollectionOrdnad samling av sidor i ett dokument
PageCollection.AddLägg till en tom sida
OperatorCollectionRå innehållsström‑operatörer för en sida
FileSpecificationInbäddad filbilagdesbeskrivning
ImageStampBildöverlappningsstämpel för sidor
XFormCollectionÅteranvändbara formulär‑XObjects i dokumentet

Se även

 Svenska