Upravljanje dokumentima

Upravljanje dokumentima

Upravljanje dokumentima

Document je koreni objekat u Aspose.PDF FOSS za .NET. Predstavlja
celu 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 kreiranje 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 sa 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 definiše nekoliko okvira ograničenja. Koristite metode postavljača na Page da ih prilagodite.

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

Čuvanje dokumenata

Sačuvajte na putanju fajla, tok ili niz bajtova.

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

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

Прилози

FileSpecification predstavlja ugrađene fajl priloge u PDF‑u.

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

Slikovni pečati

ImageStamp preklapa raster sliku na stranicu na određenu poziciju.

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

Kolekcije operatora

OperatorCollection na svakoj stranici sadrži sirove operatore content‑stream‑a. Koristite ga za inspekciju ili manipulaciju sadržajem na niskom nivou.

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

Saveti i najbolje prakse

  • Umetnite Document u using izjavu kako biste odmah oslobodili rukovanja fajlovima.
  • Koristite Document.Open(byte[]) za rad u memoriji kako biste izbegli probleme sa zaključavanjem fajlova.
  • Izmenite okvire stranice (MediaBox, CropBox) pre dodavanja sadržaja kako biste osigurali ispravan koordinatni prostor.
  • Pozovite Save samo jednom nakon svih izmena — ponovljeni čuvanja su sporiji, ali sigurni.
  • Koristite PageCollection.Accept(AnnotationSelector) za grupno procesiranje anotacija na svim stranicama.

Česti problemi

IssueCauseFix
Document.Open baca izuzetak na važećem PDF‑uDatoteka je šifrovana lozinkomProsledite parametar lozinke u konstruktoru
Broj stranica je 0 nakon konstrukcijeNovi Document() počinje prazanPozovite doc.Pages.Add() da dodate praznu stranicu
Sačuvana datoteka je veća od očekivaneSlike ili fontovi su ugnježdeni više putaKoristite optimizaciju (pogledajte vodič za konverziju i optimizaciju)
Pages[0] baca grešku indeksaStranice su numerisane od 1, a ne od 0Koristite Pages[1] za prvu stranicu

ČPP

Kako da spojim dva PDF dokumenta?

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

Могу ли да отворим PDF из URL‑а или тока?

Да. Прво учитајте садржај URL‑а у byte[], а затим га проследите у Document.Open(byte[]).

Kako da obrišem stranicu?

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

Da li je Document thread‑safe?

Ne. Svaki thread treba da radi sa svojom Document instancom.


Sažetak API referencije

Class / MethodDescription
DocumentRoot PDF objekat; sadrži stranice, metapodatke i polja obrasca
Document.OpenStatička fabrika za otvaranje PDF-a iz niza bajtova
Document.SaveSerijalizuje dokument u fajl ili tok
PageJedna PDF stranica sa sadržajem, anotacijama i geometrijom
Page.SetMediaBoxDefiniše media box stranice
Page.SetCropBoxDefiniše vidljivo područje isečka
Page.SetRotationRotira stranicu za 0, 90, 180 ili 270 stepeni
PageCollectionUređena kolekcija stranica u dokumentu
PageCollection.AddDodaje praznu stranicu
OperatorCollectionSirovi operatori sadržajnog toka za stranicu
FileSpecificationUgrađeni opisnik priloga fajla
ImageStampPreklapajući pečat slike za stranice
XFormCollectionPonovno upotrebljivi XObject obrasci u dokumentu

Види такође

 Српски