Основне управління документами

Основне управління документами

Основне управління документами

Клас Document є основною точкою входу для Aspose.PDF FOSS для .NET.
Він реалізує IDisposable і повинен використовуватися у блоці using, щоб забезпечити
швидке звільнення всіх ресурсів.


Створення нового PDF документа

Використайте Document.Create() для створення порожнього PDF‑документа:

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

Альтернативно, створіть екземпляр Document безпосередньо за допомогою new Document():

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

Відкриття існуючого PDF‑документа

Document.Open приймає byte[], шлях до файлу string або Stream.

Відкрити з масиву байтів:

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

Відкрити з шляху до файлу:

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

Відкрити з Stream:

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

Відкриття PDF, захищеного паролем

Передайте пароль як другий аргумент будь‑якому перевантаженню Document.Open:

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

Збереження документа

Document.Save записує поточний документ у шлях файлу або потік.
Document.ToArray повертає серіалізовані байти безпосередньо.

Зберегти у файл:

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

Зберегти круговий прохід до MemoryStream (з 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());

Серіалізувати у масив байтів:

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

Доступ до сторінок

Сторінки доступні через Document.Pages, який є 1‑базованим PageCollection. Використовуйте цілий індекс, щоб отримати конкретний Page:

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

Доступ до форми

Інтерактивні поля AcroForm доступні через Document.Form. Перевірте null перед доступом, коли документ може не містити форму:

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

Звільнення документа

Document реалізує IDisposable. Завжди використовуйте using або викликайте Dispose() явно:

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

Див. також

 Українська