Upravljanje dokumentima

Upravljanje dokumentima

Upravljanje dokumentima

Document je korijenski objekt u Aspose.PDF FOSS za .NET. Predstavlja cijelu PDF datoteku i pruža pristup stranicama, metapodacima, poljima obrasca i svim ostalim PDF strukturama. Otvorite postojeće datoteke pomoću Document.Open i kreirajte nove pomoću konstruktora Document.


Otvaranje i stvaranje dokumenata

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

Rad s stranicama

PageCollection upravlja stranicama dokumenta. Pristupajte stranicama po indeksu koji počinje od 1, dodajte nove stranice ili uklonite postojeće.

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;

Geometrija stranice

Svaka stranica definira nekoliko ograničavajućih okvira. Koristite metode postavljača na Page za njihovo podešavanje.

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

Spremanje dokumenata

Spremi na putanju datoteke, tok ili niz bajtova.

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

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

Privitci

FileSpecification predstavlja ugrađene datoteke privitaka u PDF‑u.

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

Slikovni žigovi

ImageStamp prekriva raster sliku na stranici na određenoj poziciji.

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

Zbirke operatora

OperatorCollection na svakoj stranici sadrži sirove operatore sadržajnog toka. Koristite ga za inspekciju ili manipulaciju sadržajem na niskoj razini.

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

Savjeti i najbolje prakse

  • Uključite Document u using izjavu kako biste odmah oslobodili rukovatelje datotekama.
  • Koristite Document.Open(byte[]) za radne tokove u memoriji kako biste izbjegli probleme s zaključavanjem datoteka.
  • Izmijenite okvire stranice (MediaBox, CropBox) prije dodavanja sadržaja kako biste osigurali ispravan koordinatni prostor.
  • Pozovite Save samo jednom nakon svih izmjena — ponovljeni spremanja su sporija, ali sigurna.
  • Koristite PageCollection.Accept(AnnotationSelector) za grupno obrađivanje anotacija na svim stranicama.

Uobičajeni problemi

ProblemUzrokRješenje
Document.Open baca iznimku na valjanom PDF-uDatoteka je šifrirana lozinkomProslijedite parametar lozinke u konstruktoru
Broj stranica je 0 nakon konstrukcijeNovi Document() počinje prazanPozovite doc.Pages.Add() da dodate praznu stranicu
Spremena datoteka je veća od očekivanogSlike ili fontovi su ugrađeni više putaKoristite optimizaciju (pogledajte vodič za konverziju i optimizaciju)
Pages[0] baca indeksnu greškuStranice su indeksirane od 1, a ne od 0Koristite Pages[1] za prvu stranicu

FAQ

Kako spojiti dva PDF dokumenta?

Koristite PdfFileEditor.Concatenate iz Facades API-ja, ili ručno kopirajte stranice iz jednog dokumenta u drugi koristeći PageCollection.

Mogu li otvoriti PDF s URL-a ili toka?

Da. Prvo učitajte sadržaj URL-a u byte[], zatim ga proslijedite u Document.Open(byte[]).

Kako izbrisati stranicu?

Pozovite doc.Pages.Delete(pageNumber) gdje je pageNumber 1‑baziran.

Je li Document thread‑safe?

Ne. Svaka nit treba raditi s vlastitom Document instancom.


API Sažetak referencije

Class / MethodDescription
DocumentKorijenski PDF objekt; sadrži stranice, metapodatke i obrasce
Document.OpenStatička tvornica za otvaranje PDF-a iz bajtnog niza
Document.SaveSerijaliziraj dokument u datoteku ili tok
PageJedna PDF stranica s sadržajem, anotacijama i geometrijom
Page.SetMediaBoxDefiniraj medijski okvir stranice
Page.SetCropBoxDefiniraj vidljivo područje izrezivanja
Page.SetRotationRotiraj stranicu za 0, 90, 180 ili 270 stupnjeva
PageCollectionUređena kolekcija stranica u dokumentu
PageCollection.AddDodaj praznu stranicu
OperatorCollectionSirovi operatori sadržajnog toka za stranicu
FileSpecificationUgrađeni opisnik privitka datoteke
ImageStampPreklapajući pečat slike za stranice
XFormCollectionPonovno upotrebljivi XObjects obrasca u dokumentu

Vidi također

 Hrvatski