Клас Document є серцем Aspose.PDF FOSS для .NET. Він представляє повний PDF і надає доступ до кожної структури всередині — сторінок, анотацій, полів форми, метаданих та вбудованих файлів.
Відкриття документів
Завантажте PDF з файлу, масиву байтів або потоку:
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
Console.WriteLine($"Pages: {doc.Pages.Count}");
Сторінки використовують індексацію, починаючи з 1: doc.Pages[1] — це перша сторінка.
Створення з нуля
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");
Таблиці, плаваючі блоки, колонтитули та графіки — це всі типи абзаців, які движок розмітки розташовує автоматично.
Маніпуляція сторінками
Встановити геометрію сторінки, обертання та обмежувальні рамки:
var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);
Конвертація
Бібліотека включає спеціальні конвертери для кількох форматів виводу:
| Конвертер | Вихід |
|---|---|
PdfToHtmlConverter | HTML |
PdfToMarkdownConverter | Markdown |
PdfToSvgConverter | SVG |
PdfToTextConverter | Звичайний текст |
Відображення у растрові зображення використовує класи пристроїв (PngDevice, JpegDevice, TiffDevice, BmpDevice), кожен з яких приймає Resolution у DPI.
відповідність PDF/A
Перевіряти та конвертувати документи у PDF/A-1B, PDF/A-2B або PDF/A-3B:
var options = new PdfFormatConversionOptions(
"log.xml",
PdfFormat.PDF_A_1B,
ConvertErrorAction.Delete);
doc.Convert(options);
doc.Save("pdfa.pdf");
Початок роботи
dotnet add package Aspose.Pdf.Foss
Для повних відомостей про API перегляньте Document Management developer guide та Conversion and Optimization guide.