Gestionarea documentelor

Gestionarea documentelor

Gestionarea documentelor

Document este obiectul rădăcină în Aspose.PDF FOSS pentru .NET. Reprezintă un
fișier PDF complet și oferă acces la pagini, metadate, câmpuri de formular și toate
celelalte structuri PDF. Deschideți fișierele existente cu Document.Open și creați altele noi
cu constructorul Document.


Deschiderea și crearea documentelor

// 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");

Lucrul cu pagini

PageCollection gestionează paginile documentului. Accesați paginile prin indexare începând de la 1, adăugați pagini noi sau eliminați pe cele existente.

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;

Geometria paginii

Fiecare pagină definește mai multe casete de delimitare. Folosiți metodele setter pe Page pentru a le ajusta.

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

Salvarea documentelor

Salvați într-o cale de fișier, un flux sau un tablou de octeți.

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

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

Atașamente de fișiere

FileSpecification reprezintă atașamente de fișiere încorporate într-un PDF.

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

Ștampile de imagine

ImageStamp suprapune o imagine raster pe o pagină la o poziție specificată.

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

Colecții de operatori

OperatorCollection pe fiecare pagină conține operatorii brut ai fluxului de conținut. Folosiți-l pentru inspecție sau manipulare de conținut la nivel scăzut.

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

Sfaturi și cele mai bune practici

  • Încapsulați Document într-o declarație using pentru a elibera rapid handle-urile de fișier.
  • Utilizați Document.Open(byte[]) pentru fluxuri de lucru în memorie pentru a evita problemele de blocare a fișierelor.
  • Modificați casetele paginii (MediaBox, CropBox) înainte de a adăuga conținut pentru a asigura un spațiu de coordonate corect.
  • Apelați Save o singură dată după toate modificările — salvările repetate sunt mai lente, dar sigure.
  • Utilizați PageCollection.Accept(AnnotationSelector) pentru a procesa în lot adnotările pe toate paginile.

Probleme comune

IssueCauseFix
Document.Open aruncă pe PDF validFișierul este criptat cu o parolăFurnizați parametrul de parolă în constructor
Numărul de pagini este 0 după construcțieNoul Document() începe golApelați doc.Pages.Add() pentru a adăuga o pagină goală
Fișierul salvat este mai mare decât se așteptaImagini sau fonturi încorporate de mai multe oriUtilizați optimizarea (consultați ghidul Conversie și Optimizare)
Pages[0] aruncă eroare de indexPaginile sunt numerotate de la 1, nu de la 0Utilizați Pages[1] pentru prima pagină

Întrebări frecvente

Cum pot să îmbin două documente PDF?

Utilizați PdfFileEditor.Concatenate din API-ul Facades, sau copiați manual pagini dintr-un document în altul utilizând PageCollection.

Pot să deschid un PDF dintr-un URL sau flux?

Da. Citește conținutul URL-ului într-un byte[] mai întâi, apoi îl transmite către Document.Open(byte[]).

Cum pot șterge o pagină?

Apelaţi doc.Pages.Delete(pageNumber) unde pageNumber este indexat de la 1.

Este Document thread-safe?

Nu. Fiecare fir de execuție ar trebui să lucreze cu propria sa instanță Document.


Rezumatul referinței API

Class / MethodDescription
DocumentObiect PDF rădăcină; conține pagini, metadate și câmpuri de formular
Document.OpenFabrică statică pentru a deschide un PDF dintr-un tablou de octeți
Document.SaveSerializați documentul într-un fișier sau flux
PagePagină PDF unică cu conținut, adnotări și geometrie
Page.SetMediaBoxDefinește caseta media a paginii
Page.SetCropBoxDefinește zona de decupare vizibilă
Page.SetRotationRotește pagina cu 0, 90, 180 sau 270 de grade
PageCollectionColecție ordonată de pagini într-un document
PageCollection.AddAdaugă o pagină goală
OperatorCollectionOperatori brut de flux de conținut pentru o pagină
FileSpecificationDescriptor de atașament de fișier încorporat
ImageStampStampă de suprapunere a imaginii pentru pagini
XFormCollectionXObjecte de formular reutilizabile în document

Vezi și

 Română