Dokumenthåndtering

Dokumenthåndtering

Dokumenthåndtering

Document er rotobjektet i Aspose.PDF FOSS for .NET. Det representerer en hel PDF-fil og gir tilgang til sider, metadata, skjemafelter, og alle andre PDF-strukturer. Åpne eksisterende filer med Document.Open og opprett nye med Document-konstruktøren.


Åpning og opprettelse av dokumenter

// 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");

Arbeide med sider

PageCollection administrerer dokumentets sider. Få tilgang til sider ved 1-basert indeks, legg til nye sider, eller fjern eksisterende sider.

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;

Sidegeometri

Hver side definerer flere avgrensningsbokser. Bruk setter‑metodene på Page for å justere 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);

Lagring av dokumenter

Lagre til en filsti, en strøm eller en byte-array.

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

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

Filvedlegg

FileSpecification representerer innebygde filvedlegg i en PDF.

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

Bilde‑stempler

ImageStamp legger et rasterbilde på en side på en angitt posisjon.

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

Operatorkolleksjoner

OperatorCollection på hver side inneholder de rå innholdsstrøm-operatorene. Bruk den for innholdsinspeksjon eller manipulering på lavt nivå.

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

Tips og beste praksis

  • Pakk Document inn i en using‑setning for å frigjøre filhåndtakene umiddelbart.
  • Bruk Document.Open(byte[]) for arbeidsflyter i minnet for å unngå fil‑låse‑problemer.
  • Endre sidebokser (MediaBox, CropBox) før du legger til innhold for å sikre korrekt koordinatrom.
  • Kall Save kun én gang etter alle endringer — gjentatte lagringer er tregere, men trygge.
  • Bruk PageCollection.Accept(AnnotationSelector) for å batch‑behandle annotasjoner på tvers av alle sider.

Vanlige problemer

IssueCauseFix
Document.Open kaster på gyldig PDFFilen er kryptert med et passordOppgi passordparameteren i konstruktøren
Sideantallet er 0 etter konstruksjonNy Document() starter tomKall doc.Pages.Add() for å legge til en blank side
Lagret fil er større enn forventetBilder eller fonter er innebygd flere gangerBruk optimalisering (se veiledningen Conversion and Optimization guide)
Pages[0] kaster indeksfeilSider er 1-baserte, ikke 0-baserteBruk Pages[1] for den første siden

OSS

Hvordan slår jeg sammen to PDF-dokumenter?

Bruk PdfFileEditor.Concatenate fra Facades API, eller kopier sider manuelt fra ett dokument til et annet ved å bruke PageCollection.

Kan jeg åpne en PDF fra en URL eller strøm?

Ja. Les URL‑innholdet inn i en byte[] først, så send det til Document.Open(byte[]).

Hvordan sletter jeg en side?

Kall doc.Pages.Delete(pageNumber) der pageNumber er 1‑basert.

Er Document trådsikker?

Nei. Hver tråd bør arbeide med sin egen Document-instans.


API-referansesammendrag

Class / MethodDescription
DocumentRot‑PDF‑objekt; inneholder sider, metadata og skjemafelter
Document.OpenStatisk fabrikk for å åpne en PDF fra en byte‑array
Document.SaveSerialiser dokumentet til en fil eller strøm
PageEnkel PDF‑side med innhold, annotasjoner og geometri
Page.SetMediaBoxDefiner sidens mediaboks
Page.SetCropBoxDefiner det synlige beskjæringsområdet
Page.SetRotationRoter siden med 0, 90, 180 eller 270 grader
PageCollectionOrdnet samling av sider i et dokument
PageCollection.AddLegg til en blank side
OperatorCollectionRå innholdsstrøm‑operatorer for en side
FileSpecificationInnebygd filvedleggbeskrivelse
ImageStampBildeoverlegg‑stempel for sider
XFormCollectionGjenbrukbare skjema‑XObjects i dokumentet

Se også

 Norsk