Dokumentu pārvaldība
Dokumentu pārvaldība
Document ir saknes objekts Aspose.PDF FOSS for .NET. Tas pārstāv
visu PDF failu un nodrošina piekļuvi lapām, metadatiem, veidlapas laukiem un visām
citiem PDF struktūrām. Atveriet esošos failus, izmantojot Document.Open, un izveidojiet jaunus
ar Document konstruktoru.
Dokumentu atvēršana un izveide
// 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");Darbs ar lapām
PageCollection pārvalda dokumenta lapas. Piekļūst lapām, izmantojot 1‑balstītu indeksu, pievieno jaunas lapas vai noņem esošās.
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;Lapas ģeometrija
Katrs lappuse definē vairākas robežkastes. Izmantojiet setter metodes uz Page, lai tās pielāgotu.
var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);Dokumentu saglabāšana
Saglabājiet faila ceļā, plūsmā vai baitu masīvā.
// Save to file
doc.Save("output.pdf");
// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);Failu pielikumi
FileSpecification pārstāv iegultus failu pielikumus PDF dokumentā.
var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);Attēlu zīmogi
ImageStamp pārklāj rastra attēlu lapā noteiktā pozīcijā.
var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");Operatoru kolekcijas
OperatorCollection katrā lapā satur neapstrādātus satura plūsmas operatorus. Izmantojiet to zemā līmeņa satura pārbaudei vai manipulācijai.
var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
// Inspect each operator
}Padomi un labākās prakses
- Ietiniet
Documentusingizteiksmē, lai nekavējoties atbrīvotu faila rokturus. - Izmantojiet
Document.Open(byte[])atmiņas darbplūsmām, lai izvairītos no faila bloķēšanas problēmām. - Modificējiet lapas kastes (MediaBox, CropBox) pirms satura pievienošanas, lai nodrošinātu pareizu koordinātu telpu.
- Izsauciet
Savetikai vienreiz pēc visām izmaiņām — atkārtoti saglabājumi ir lēnāki, bet droši. - Izmantojiet
PageCollection.Accept(AnnotationSelector), lai grupveidā apstrādātu anotācijas visās lapās.
Bieži sastopamās problēmas
| Issue | Cause | Fix |
|---|---|---|
Document.Open izsauc kļūdu uz derīga PDF | Fails ir šifrēts ar paroli | Norādiet paroles parametru konstruktorā |
| Lapu skaits ir 0 pēc izveides | Jauns Document() sāk tukšu | Izsauciet doc.Pages.Add(), lai pievienotu tukšu lapu |
| Saglabātais fails ir lielāks nekā gaidīts | Attēli vai fonti ir iekļauti vairākas reizes | Izmantojiet optimizāciju (skatiet Pārveidošanas un optimizācijas rokasgrāmatu) |
Pages[0] izsauc indeksa kļūdu | Lapas ir 1‑balstītas, nevis 0‑balstītas | Izmantojiet Pages[1] pirmajai lapai |
BUJ
Kā es varu apvienot divus PDF dokumentus?
Izmantojiet PdfFileEditor.Concatenate no Facades API, vai manuāli kopējiet lapas no viena dokumenta uz citu, izmantojot PageCollection.
Vai es varu atvērt PDF no URL vai straumes?
Jā. Vispirms nolasiet URL saturu uz byte[], pēc tam nododiet to Document.Open(byte[]).
Kā es varu izdzēst lapu?
Izsauciet doc.Pages.Delete(pageNumber), kur pageNumber ir 1‑balstīts.
Vai Document ir pavediena drošs?
Nē. Katram pavedienam jāstrādā ar savu Document instanci.
API Atsauču kopsavilkums
| Class / Method | Description |
|---|---|
Document | Saknes PDF objekts; satur lapas, metadatus un form laukus |
Document.Open | Statiskā ražotne, lai atvērtu PDF no baitu masīva |
Document.Save | Serializēt dokumentu uz failu vai straumi |
Page | Viena PDF lapa ar saturu, anotācijām un ģeometriju |
Page.SetMediaBox | Definēt lapas media box |
Page.SetCropBox | Definēt redzamo crop area |
Page.SetRotation | Pagriezt lapu par 0, 90, 180 vai 270 grādiem |
PageCollection | Kārtota lapu kolekcija dokumentā |
PageCollection.Add | Pievienot tukšu lapu |
OperatorCollection | Neapstrādāti content‑stream operatori lapai |
FileSpecification | Iegultais file attachment aprakstītājs |
ImageStamp | Attēla overlay zīmogs lapām |
XFormCollection | Atkārtoti lietojami form XObjects dokumentā |