Správa dokumentů

Správa dokumentů

Správa dokumentů

Document je kořenový objekt v Aspose.PDF FOSS pro .NET. Reprezentuje celý PDF soubor a poskytuje přístup k stránkám, metadatům, formulářovým polím a všem ostatním PDF strukturám. Otevřete existující soubory pomocí Document.Open a vytvořte nové pomocí konstruktoru Document.


Otevírání a vytváření 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");

Práce se stránkami

PageCollection spravuje stránky dokumentu. Přistupujte ke stránkám pomocí indexu začínajícího od 1, přidávejte nové stránky nebo odstraňujte existující.

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;

Geometrie stránky

Každá stránka definuje několik ohraničujících rámečků. Použijte metody nastavení na Page k jejich úpravě.

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

Ukládání dokumentů

Uložte do cesty k souboru, proudu nebo pole bajtů.

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

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

Přílohy souborů

FileSpecification představuje vložené souborové přílohy v PDF.

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

Obrázkové razítka

ImageStamp překrývá rastrový obrázek na stránce na určené pozici.

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

Kolekce operátorů

OperatorCollection na každé stránce obsahuje surové operátory content‑streamu. Použijte jej pro nízkoúrovňovou inspekci nebo manipulaci s obsahem.

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

Tipy a osvědčené postupy

  • Zabalte Document do výrazu using, aby se souborové handly uvolnily okamžitě.
  • Použijte Document.Open(byte[]) pro workflow v paměti, aby se předešlo problémům se zamčením souboru.
  • Upravte stránky (MediaBox, CropBox) před přidáním obsahu, aby byl zajištěn správný souřadnicový prostor.
  • Zavolejte Save pouze jednou po všech úpravách — opakované ukládání je pomalejší, ale bezpečné.
  • Použijte PageCollection.Accept(AnnotationSelector) k hromadnému zpracování anotací na všech stránkách.

Časté problémy

IssueCauseFix
Document.Open vyhazuje výjimku u platného PDFSoubor je šifrován heslemPoskytněte parametr hesla v konstruktoru
Počet stránek je po vytvoření 0Nový Document() začíná prázdnýZavolejte doc.Pages.Add() pro přidání prázdné stránky
Uložený soubor je větší, než se očekávaloObrázky nebo písma jsou vloženy vícekrátPoužijte optimalizaci (viz průvodce Konverzí a optimalizací)
Pages[0] vyhazuje chybu indexuStránky jsou číslovány od 1, ne od 0Použijte Pages[1] pro první stránku

Často kladené otázky

Jak sloučit dva PDF dokumenty?

Použijte PdfFileEditor.Concatenate z Facades API, nebo ručně zkopírujte stránky z jednoho dokumentu do druhého pomocí PageCollection.

Mohu otevřít PDF z URL nebo proudu?

Ano. Načtěte obsah URL do byte[] nejprve, pak jej předávejte do Document.Open(byte[]).

Jak smazat stránku?

Zavolejte doc.Pages.Delete(pageNumber), kde pageNumber je 1‑základní.

Je Document vlákno-bezpečný?

Ne. Každé vlákno by mělo pracovat se svou vlastní instancí Document.


Shrnutí referenčního API

Class / MethodDescription
DocumentKořenový objekt PDF; obsahuje stránky, metadata a formulářová pole
Document.OpenStatická tovární metoda pro otevření PDF z pole bajtů
Document.SaveSerializovat dokument do souboru nebo proudu
PageJedna stránka PDF s obsahem, anotacemi a geometrií
Page.SetMediaBoxDefinovat mediální rámeček stránky
Page.SetCropBoxDefinovat viditelnou oblast ořezu
Page.SetRotationOtočit stránku o 0, 90, 180 nebo 270 stupňů
PageCollectionUspořádaná kolekce stránek v dokumentu
PageCollection.AddPřidat prázdnou stránku
OperatorCollectionOperátory surového content-streamu pro stránku
FileSpecificationPopisovač vložené přílohy souboru
ImageStampObrázkový překryvný razítko pro stránky
XFormCollectionZnovupoužitelné formulářové XObjecty v dokumentu

Viz také

 Čeština