Asiakirjojen hallinta
Dokumentinhallinta
Document on juurielementti Aspose.PDF FOSS for .NET -kirjastossa. Se edustaa
koko PDF-tiedostoa ja tarjoaa pääsyn sivuihin, metatietoihin, lomakekenttiin, ja kaikki
muut PDF-rakenteet. Avaa olemassa olevat tiedostot Document.Open ja luo uusiaDocument-konstruktorilla.
Avaaminen ja asiakirjojen luominen
// 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");Sivujen käsittely
PageCollection hallinnoi asiakirjan sivuja. Pääset sivuihin 1-pohjaisella indeksillä, lisää uusia sivuja tai poista olemassa olevia.
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;Sivun geometria
Jokainen sivu määrittelee useita rajauslaatikoita. Käytä Page-objektin asettajametodeja niiden
säätämiseen.
var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);Asiakirjojen tallentaminen
Tallenna tiedostopolkuun, virtaan tai tavutaulukkoon.
// Save to file
doc.Save("output.pdf");
// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);Tiedostoliitteet
FileSpecification edustaa upotettuja tiedostoliitteitä PDF:ssä.
var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);Kuvaleimat
ImageStamp asettaa rasterikuvan sivulle määritettyyn sijaintiin.
var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");Operaattorikokoelmat
OperatorCollection jokaisella sivulla sisältää raakat sisältövirran operaattorit. Käytä sitä alhaisen tason sisällön tarkasteluun tai muokkaamiseen.
var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
// Inspect each operator
}Vinkkejä ja parhaita käytäntöjä
- Kääri
Documentusing-lauseeseen vapauttaaksesi tiedostokahvat nopeasti. - Käytä
Document.Open(byte[])muistissa tapahtuvissa työnkuluissa välttääksesi tiedostolukitusongelmat. - Muokkaa sivulaatikoita (MediaBox, CropBox) ennen sisällön lisäämistä varmistaaksesi oikean koordinaatiston.
- Kutsu
Savevain kerran kaikkien muutosten jälkeen — toistuvat tallennukset ovat hitaampia mutta turvallisia. - Käytä
PageCollection.Accept(AnnotationSelector)merkintöjen eräprosessointiin kaikilla sivuilla.
Yleiset ongelmat
| Issue | Cause | Fix |
|---|---|---|
Document.Open heittää virheen kelvollisessa PDF:ssä | Tiedosto on salattu salasanalla | Anna salasanaparametri konstruktorissa |
| Sivumäärä on 0 konstruktion jälkeen | Uusi Document() alkaa tyhjänä | Kutsu doc.Pages.Add() lisätäksesi tyhjän sivun |
| Tallennettu tiedosto on odotettua suurempi | Kuvat tai fontit upotettu useita kertoja | Käytä optimointia (katso Conversion and Optimization guide) |
Pages[0] heittää indeksi-virheen | Sivut ovat 1-pohjaisia, eivät 0-pohjaisia | Käytä Pages[1] ensimmäiselle sivulle |
UKK
Kuinka yhdistän kaksi PDF-dokumenttia?
Käytä PdfFileEditor.Concatenate Facades API:sta, tai kopioi sivuja manuaalisesti asiakirjasta toiseen käyttäen PageCollection.
Voinko avata PDF:n URL-osoitteesta tai virrasta?
Kyllä. Lue URL‑sisältö ensin byte[]‑muuttujaan, ja sitten siirrä se
Document.Open(byte[]).
Miten poistan sivun?
Kutsu doc.Pages.Delete(pageNumber), jossa pageNumber on 1-pohjainen.
Onko Document säikeiturvallinen?
Ei. Jokaisen säikeen tulisi käyttää omaa Document-instanssia.
API-viittauksen yhteenveto
| Class / Method | Description |
|---|---|
Document | Juuri PDF-objekti; sisältää sivut, metatiedot ja lomakekentät |
Document.Open | Staattinen tehdas PDF:n avaamiseen tavutaulukosta |
Document.Save | Sarjoita asiakirja tiedostoon tai virtaan |
Page | Yksittäinen PDF-sivu, jossa on sisältöä, merkintöjä ja geometriaa |
Page.SetMediaBox | Määritä sivun medialaatikko |
Page.SetCropBox | Määritä näkyvä leikkausalue |
Page.SetRotation | Kierrä sivua 0, 90, 180 tai 270 astetta |
PageCollection | Järjestetty kokoelma sivuja asiakirjassa |
PageCollection.Add | Lisää tyhjä sivu |
OperatorCollection | Raakat sisältövirran operaattorit sivulle |
FileSpecification | Upotettu tiedostoliitteen kuvaus |
ImageStamp | Kuvan päällekkäinen leima sivuille |
XFormCollection | Uudelleenkäytettävät lomake‑XObjectit asiakirjassa |