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

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

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

Класът 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.

Вижте също

 Български