Dokumentumkezelés
Dokumentumkezelés
Document a gyökérobjektum az Aspose.PDF FOSS for .NET-ben. Egy
teljes PDF-fájlt képvisel, és hozzáférést biztosít az oldalakhoz, metaadatokhoz, űrlapmezőkhöz, valamint minden egyéb PDF-szerkezethez. Létező fájlok megnyitásához használja a Document.Open-t, újak létrehozásához a Document konstruktorát.
Dokumentumok megnyitása és létrehozása
// 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");Oldalakkal való munka
PageCollection kezeli a dokumentum oldalait. Az oldalakat 1‑alapú index szerint érheti el, új oldalakat adhat hozzá, vagy eltávolíthat meglévőket.
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;Oldal geometria
Minden oldal több határoló keretet definiál. Használja a Page beállító metódusait a módosításhoz.
var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);Dokumentumok mentése
Mentse egy fájl útvonalra, egy adatfolyamra vagy egy bájt tömbbe.
// Save to file
doc.Save("output.pdf");
// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);Fájl mellékletek
FileSpecification beágyazott fájlcsatolmányokat jelenti egy PDF-ben.
var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);Képmások
ImageStamp egy raszteres képet helyez el egy oldalon a megadott pozícióban.
var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");Operátor gyűjtemények
OperatorCollection minden oldalon a nyers tartalomfolyam‑operátorokat tartalmazza. Használja alacsony szintű tartalomellenőrzésre vagy manipulációra.
var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
// Inspect each operator
}Tippek és bevált gyakorlatok
- Csomagolja
Documentegyusingutasításba, hogy a fájlkezelőket gyorsan felszabadítsa. - Használja a
Document.Open(byte[])‑t memória‑alapú munkafolyamatokhoz, hogy elkerülje a fájlzárolási problémákat. - Módosítsa az oldaldobozokat (MediaBox, CropBox) a tartalom hozzáadása előtt, hogy a megfelelő koordináta‑teret biztosítsa.
- Hívja meg a
Save‑t csak egyszer az összes módosítás után — az ismételt mentések lassabbak, de biztonságosak. - Használja a
PageCollection.Accept(AnnotationSelector)‑t az annotációk kötegelt feldolgozásához az összes oldalon.
Gyakori problémák
| Issue | Cause | Fix |
|---|---|---|
Document.Open hibát dob érvényes PDF esetén | A fájl jelszóval van titkosítva | Adja meg a jelszó paramétert a konstruktorban |
| Az oldalszám 0 a konstrukció után | Az új Document() üresen indul | Hívja meg a doc.Pages.Add()‑t egy üres oldal hozzáadásához |
| A mentett fájl nagyobb a vártnál | Képek vagy betűkészletek többször beágyazva | Használjon optimalizálást (lásd a Konverzió és optimalizálás útmutatót) |
Pages[0] index hibát dob | Az oldalak 1‑es alapúak, nem 0‑ás alapúak | Használja a Pages[1]‑t az első oldalhoz |
GYIK
Hogyan egyesíthetek két PDF dokumentumot?
Használja a Facades API PdfFileEditor.Concatenate‑t, vagy manuálisan másolja az oldalakat egy dokumentumból a másikba a PageCollection segítségével.
Megnyithatok PDF-et URL‑ről vagy adatfolyamból?
Igen. Olvassa be a URL tartalmát először egy byte[]-ba, majd adja át a
Document.Open(byte[])-nek.
Hogyan törölhetek egy oldalt?
Hívja doc.Pages.Delete(pageNumber), ahol pageNumber 1‑alapú.
A Document szálbiztos?
Nem. Minden szálnak a saját Document példányával kell dolgoznia.
API referencia összefoglaló
| Class / Method | Description |
|---|---|
Document | Gyökér PDF objektum; tartalmaz oldalakat, metaadatokat és űrlapmezőket |
Document.Open | Statikus gyár a PDF megnyitásához bájttömbből |
Document.Save | A dokumentum sorosítása fájlba vagy adatfolyamba |
Page | Egyetlen PDF oldal tartalommal, megjegyzésekkel és geometriával |
Page.SetMediaBox | A lap média dobozának meghatározása |
Page.SetCropBox | A látható vágási terület meghatározása |
Page.SetRotation | Az oldal forgatása 0, 90, 180 vagy 270 fokkal |
PageCollection | Rendezett oldalgyűjtemény egy dokumentumban |
PageCollection.Add | Üres oldal hozzáfűzése |
OperatorCollection | Nyers tartalomfolyam operátorok egy oldalhoz |
FileSpecification | Beágyazott fájlcsatolás leírója |
ImageStamp | Képréteg pecsét az oldalakhoz |
XFormCollection | Újrahasználható űrlap XObject-ek a dokumentumban |