Gestió de documents central

Gestió de documents central

Gestió de documents principal

La classe Document és el punt d’entrada principal per a Aspose.PDF FOSS per a .NET. Implementa IDisposable i s’ha d’utilitzar en un bloc using per garantir que tots els recursos es alliberin ràpidament.


Creant un nou document PDF

Utilitzeu Document.Create() per instanciar un document PDF buit:

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

Alternativament, creeu una instància Document directament amb new Document():

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

Obrint un document PDF existent

Document.Open accepta un byte[], un camí de fitxer string o un Stream.

Obre des d’una matriu d’bytes:

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

Obre des d’una ruta de fitxer:

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

Obre des d’un Stream:

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

Obrint un PDF protegit amb contrasenya

Passeu la contrasenya com a segon argument a qualsevol sobrecàrrega Document.Open:

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

Desant un document

Document.Save escriu el document actual a una ruta de fitxer o a un flux.
Document.ToArray retorna els bytes serialitzats directament.

Desa a un fitxer:

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

Desa el viatge d’anada i tornada a un MemoryStream (des del 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());

Serialitza a una matriu de bytes:

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

Accés a pàgines

Les pàgines s’accedeixen a través de Document.Pages, que és un PageCollection basat en 1. Utilitzeu l’índex enter per obtenir un Page específic:

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

Accedint al formulari

Els camps interactius d’AcroForm estan disponibles a través de Document.Form. Comproveu null abans d’accedir quan el document pot no contenir un formulari:

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

Alliberament d’un document

Document implementa IDisposable. Sempre utilitzeu using o crideu Dispose() explícitament:

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

Vegeu també

 Català