Gestion de documents principale

Gestion de documents principale

Gestion de documents principale

La classe Document est le point d’entrée principal pour Aspose.PDF FOSS pour .NET. Elle implémente IDisposable et doit être utilisée dans un bloc using afin de garantir que toutes les ressources sont libérées rapidement.


Création d’un nouveau document PDF

Utilisez Document.Create() pour instancier un document PDF vide :

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

Alternativement, construisez une instance Document directement avec new Document():

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

Ouverture d’un document PDF existant

Document.Open accepte un byte[], un chemin de fichier string, ou un Stream.

Ouvrir à partir d’un tableau d’octets :

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

Ouvrir à partir d’un chemin de fichier :

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

Ouvrir depuis un Stream:

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

Ouverture d’un PDF protégé par mot de passe

Passez le mot de passe en tant que deuxième argument à toute surcharge Document.Open :

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

Enregistrement d’un document

Document.Save écrit le document actuel vers un chemin de fichier ou un flux.
Document.ToArray renvoie les octets sérialisés directement.

Enregistrer dans un fichier :

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

Enregistrer le round‑trip vers un MemoryStream (à partir de 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());

Sérialiser en tableau d’octets :

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

Accès aux pages

Les pages sont accessibles via Document.Pages, qui est un PageCollection basé sur 1. Utilisez l’indice entier pour obtenir un(e) Page spécifique :

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

Accéder au formulaire

Les champs AcroForm interactifs sont disponibles via Document.Form. Vérifiez null avant d’y accéder lorsque le document peut ne pas contenir de formulaire :

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

Libération d’un document

Document implémente IDisposable. Utilisez toujours using ou appelez Dispose() explicitement :

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

Voir aussi

 Français