Gerenciamento Central de Documentos

Gerenciamento Central de Documentos

Gerenciamento de Documentos Core

A classe Document é o ponto de entrada principal para Aspose.PDF FOSS for .NET.
Ela implementa IDisposable e deve ser usada em um bloco using para garantir
que todos os recursos sejam liberados prontamente.


Criando um novo documento PDF

Use Document.Create() para instanciar um documento PDF vazio:

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

Alternativamente, construa uma instância Document diretamente com new Document():

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

Abrindo um documento PDF existente

Document.Open aceita um byte[], um caminho de arquivo string, ou um Stream.

Abrir a partir de um array de bytes:

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

Abrir a partir de um caminho de arquivo:

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

Abrir de um Stream:

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

Abrindo um PDF protegido por senha

Passe a senha como segundo argumento para qualquer sobrecarga Document.Open:

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

Salvando um documento

Document.Save grava o documento atual em um caminho de arquivo ou fluxo.
Document.ToArray retorna os bytes serializados diretamente.

Salvar em um arquivo:

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

Salvar ida e volta para um MemoryStream (do 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());

Serializar para um array de bytes:

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

Acessando páginas

As páginas são acessadas através de Document.Pages, que é um PageCollection baseado em 1. Use o índice inteiro para obter um Page específico:

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

Acessando o formulário

Os campos interativos do AcroForm estão disponíveis através de Document.Form. Verifique null antes de acessar quando o documento pode não conter um formulário:

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

Descarte de um documento

Document implementa IDisposable. Sempre use using ou chame Dispose() explicitamente:

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

Veja Também

 Português