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
Documentdo výrazuusing, 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
Savepouze 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
| Issue | Cause | Fix |
|---|---|---|
Document.Open vyhazuje výjimku u platného PDF | Soubor je šifrován heslem | Poskytněte parametr hesla v konstruktoru |
| Počet stránek je po vytvoření 0 | Nový 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ávalo | Obrázky nebo písma jsou vloženy vícekrát | Použijte optimalizaci (viz průvodce Konverzí a optimalizací) |
Pages[0] vyhazuje chybu indexu | Stránky jsou číslovány od 1, ne od 0 | Použ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 / Method | Description |
|---|---|
Document | Kořenový objekt PDF; obsahuje stránky, metadata a formulářová pole |
Document.Open | Statická tovární metoda pro otevření PDF z pole bajtů |
Document.Save | Serializovat dokument do souboru nebo proudu |
Page | Jedna stránka PDF s obsahem, anotacemi a geometrií |
Page.SetMediaBox | Definovat mediální rámeček stránky |
Page.SetCropBox | Definovat viditelnou oblast ořezu |
Page.SetRotation | Otočit stránku o 0, 90, 180 nebo 270 stupňů |
PageCollection | Uspořádaná kolekce stránek v dokumentu |
PageCollection.Add | Přidat prázdnou stránku |
OperatorCollection | Operátory surového content-streamu pro stránku |
FileSpecification | Popisovač vložené přílohy souboru |
ImageStamp | Obrázkový překryvný razítko pro stránky |
XFormCollection | Znovupoužitelné formulářové XObjecty v dokumentu |