Gestionarea Documentelor de Bază

Gestionarea Documentelor de Bază

Prezentare generală

Clasa Document este punctul principal de intrare pentru Aspose.PDF FOSS pentru .NET.
Aceasta implementează IDisposable și ar trebui utilizată într-un bloc using pentru a asigura
eliberarea rapidă a tuturor resurselor.


Crearea unui document PDF nou

Utilizaţi Document.Create() pentru a crea un document PDF gol:

using Aspose.Pdf;
using var doc = Document.Create();
doc.Pages.Add();
doc.Save("new-document.pdf");

Alternativ, construiți o instanță Document direct cu new Document():

using Aspose.Pdf;
using var doc = new Document();
doc.Pages.Add();
doc.Save("new-document.pdf");

Deschiderea unui document PDF existent

Document.Open acceptă un byte[], o cale de fișier string sau un Stream.

Deschide dintr-un tablou de octeţi:

using Aspose.Pdf;
byte[] data = File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
Console.WriteLine($"Pages: {doc.Pages.Count}");

Deschide dintr-o cale de fișier:

using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
Console.WriteLine($"Pages: {doc.Pages.Count}");

Deschide dintr-un Stream:

using Aspose.Pdf;
using var stream = File.OpenRead("input.pdf");
using var doc = Document.Open(stream);
Console.WriteLine($"Pages: {doc.Pages.Count}");

Deschiderea unui PDF protejat prin parolă

Transmiteți parola ca al doilea argument la orice suprasarcină Document.Open:

using Aspose.Pdf;
using var doc = Document.Open("protected.pdf", "mypassword");

Salvarea unui document

Document.Save scrie documentul curent într-o cale de fișier sau flux.
Document.ToArray returnează direct octeții serializați.

Salvează într-un fișier:

using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
doc.Pages.Add();
doc.Save("output.pdf");

Salvează round-trip către un MemoryStream (din snippet_014.cs):

using Aspose.Pdf;
var data = File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateJavaScript("app.alert('Round trip');");
page.Annotations.AddLinkAnnotation(new Rectangle(50, 600, 200, 620), action);
using var ms = new MemoryStream();
doc.Save(ms);
ms.Position = 0;
using var doc2 = Document.Open(ms.ToArray());

Serializați într-un tablou de octeţi:

using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var bytes = doc.ToArray();
File.WriteAllBytes("output.pdf", bytes);

Accesarea paginilor

Paginile sunt accesate prin Document.Pages, care este un 1‑bazat
PageCollection. Folosiți indexul întreg pentru a obține un Page specific:

using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var page = doc.Pages[1];
Console.WriteLine($"Width: {page.Width}, Height: {page.Height}");
Console.WriteLine($"Rotation: {page.RotateDegrees}");
Console.WriteLine($"Annotations: {page.Annotations.Count}");

Accesarea formularului

Câmpurile interactive AcroForm sunt disponibile prin Document.Form. Verificați null înainte de a accesa când documentul poate să nu conțină un formular:

using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("form.pdf"));
if (doc.Form is not null)
{
    foreach (var field in doc.Form.Fields)
    {
        Console.WriteLine($"{field.Name}: {field.Value}");
    }
}

Eliberarea unui document

Document implementează IDisposable. Folosiți întotdeauna using sau apelați Dispose() explicit:

using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
// doc is disposed automatically at the end of the using block.

Vezi și

 Română