Класс 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 см. Руководство разработчика по управлению документами и Руководство по конвертации и оптимизации.