Kern-Dokumentenverwaltung
Kern‑Dokumentenverwaltung
Die Document-Klasse ist der Haupteinstiegspunkt für Aspose.PDF FOSS für .NET.
Sie implementiert IDisposable und sollte in einem using-Block verwendet werden, um sicherzustellen,
dass alle Ressourcen umgehend freigegeben werden.
Ein neues PDF-Dokument erstellen
Verwenden Sie Document.Create(), um ein leeres PDF‑Dokument zu instanziieren:
using Aspose.Pdf;
using var doc = Document.Create();
doc.Pages.Add();
doc.Save("new-document.pdf");Alternativ können Sie eine Document‑Instanz direkt mit new Document() erstellen:
using Aspose.Pdf;
using var doc = new Document();
doc.Pages.Add();
doc.Save("new-document.pdf");Öffnen eines vorhandenen PDF-Dokuments
Document.Open akzeptiert ein byte[], einen Dateipfad string oder ein Stream.
Aus einem Byte-Array öffnen:
using Aspose.Pdf;
byte[] data = File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
Console.WriteLine($"Pages: {doc.Pages.Count}");Aus einem Dateipfad öffnen:
using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
Console.WriteLine($"Pages: {doc.Pages.Count}");Öffnen aus einer Stream:
using Aspose.Pdf;
using var stream = File.OpenRead("input.pdf");
using var doc = Document.Open(stream);
Console.WriteLine($"Pages: {doc.Pages.Count}");Öffnen einer passwortgeschützten PDF
Übergeben Sie das Passwort als zweites Argument an jede Document.Open Überladung:
using Aspose.Pdf;
using var doc = Document.Open("protected.pdf", "mypassword");Speichern eines Dokuments
Document.Save schreibt das aktuelle Dokument in einen Dateipfad oder Stream.Document.ToArray gibt die serialisierten Bytes direkt zurück.
In einer Datei speichern:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
doc.Pages.Add();
doc.Save("output.pdf");Rundreise in einem MemoryStream speichern (aus 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());Serialisieren in ein Byte-Array:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var bytes = doc.ToArray();
File.WriteAllBytes("output.pdf", bytes);Zugriff auf Seiten
Seiten werden über Document.Pages zugegriffen, das ein 1‑basiertes PageCollection ist. Verwenden Sie den ganzzahligen Index, um ein bestimmtes Page zu erhalten:
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}");Zugriff auf das Formular
Interaktive AcroForm‑Felder sind über Document.Form verfügbar. Überprüfen Sie null, bevor Sie darauf zugreifen, wenn das Dokument möglicherweise kein Formular enthält:
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}");
}
}Freigeben eines Dokuments
Document implementiert IDisposable. Verwenden Sie immer using oder rufen Sie Dispose() explizit auf:
using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
// doc is disposed automatically at the end of the using block.