Aspose.PDF FOSS для .NET — это библиотека с лицензией MIT для создания и работы с PDF‑документами в C# и .NET. Основной точкой входа является класс Document, который поддерживает создание из пути к файлу, массива байтов, потока или защищённых паролем источников и предоставляет операции Open, Save, Merge, Encrypt, Decrypt и Convert по полной спецификации PDF.
Библиотека предоставляет 805 классов, охватывающих структуру документа через Document, Page и PageCollection; богатые аннотации через AnnotationCollection (включая AddTextAnnotation, AddLinkAnnotation, AddHighlightAnnotation, AddWatermarkAnnotation и AddRedactAnnotation); интерактивные формы с Form, ButtonField, CheckboxField, RadioButtonField и ChoiceField; извлечение текста и поиск через TextFragmentAbsorber и TextFragment; обнаружение таблиц с помощью AbsorbedTable, AbsorbedRow и AbsorbedCell; и безопасность документа через Document.Encrypt и Document.Decrypt. Конвертация форматов поддерживает HTML, SVG и импорт Markdown наряду с экспортом PDF.
Установите Aspose.PDF FOSS для .NET из NuGet: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. Библиотека полностью лицензирована под MIT и не имеет никаких плат за выполнение или ограничений по использованию. Для корпоративных функций и поддержки см. Aspose.PDF for .NET — Enterprise Product.
Document() или открывайте существующие файлы через Document.Open(path), Document.Open(data) или Document.Open(stream).PageCollection. Каждый Page предоставляет Width, Height, MediaBox, вращение и Annotations.Document.Merge(documents) или Document.MergeDocuments(files). Импортируйте отдельные страницы с помощью Document.ImportPage и Document.ImportPages.DocumentInfo и Document.GetOrCreateMetadata().Document.Save(filename), Document.Save(stream, format) или Document.ToArray().Document и заполнения страниц содержимым.Document.ImportPage и API Page.Document.MergeDocuments.AnnotationCollection раскрывает методы для аннотаций текста, ссылки, выделения, подчеркивания, зачеркивания, квадрата, круга, линии, чернил, штампа, каретки, редактирования, водяного знака, полигона и полилинии.AddLinkAnnotation(rect, uri) или внутренние ссылки перехода по страницам с помощью AddLinkAnnotation(rect, destinationPage, destRect).Document.Form, чтобы перечислять или создавать экземпляры ButtonField, CheckboxField, RadioButtonField и ChoiceField.AnnotationSelector с перегрузками Visit для каждого типа.AnnotationFlags.AddRedactAnnotation.AddWatermarkAnnotation и AddStampAnnotation.TextFragmentAbsorber для поиска всех фрагментов текста на странице или в документе, с опциональным поиском фраз.TextFragment раскрывает Text, Position, TextState (шрифт, размер, цвет) и ограничивающий прямоугольник.TextFragmentState предоставляет доступ к Font, FontSize, ForegroundColor, BackgroundColor и режиму рендеринга.AbsorbedTable, AbsorbedRow и AbsorbedCell, каждый из которых предоставляет Rect и TextFragments.AbsorbedTable для анализа данных из таблиц, содержащих строки и столбцы в финансовых файлах PDF.Document.Encrypt(userPassword, ownerPassword, permissions, algorithm), используя Algorithm.AESx128, AESx256 или RC4x128.DocumentPrivilege.Document.ChangePasswords.Document.Decrypt().Signature и Algorithm.DocumentPrivilege, предназначенные только paraпечатать.Откройте существующий PDF, прикрепите к странице 1 аннотацию ссылки URI и персистируйте результат.
using Aspose.Pdf;
var data = System.IO.File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateUri("https://aspose.com");
page.Annotations.AddLinkAnnotation(
new Rectangle(50, 700, 200, 720), action);
using var ms = new System.IO.MemoryStream();
doc.Save(ms);
System.IO.File.WriteAllBytes("output.pdf", ms.ToArray());
Напечатать водяной знак на странице 1 существующего документа и пройти сериализацию.
using Aspose.Pdf;
var input = System.IO.File.ReadAllBytes("report.pdf");
using var doc = Document.Open(input);
doc.Pages[1].Annotations.AddWatermarkAnnotation(
new Rectangle(0, 0, 612, 792), "CONFIDENTIAL");
var saved = doc.ToArray();
System.IO.File.WriteAllBytes("watermarked.pdf", saved);
Используйте TextFragmentAbsorber для перечисления всех фрагментов текста на первой странице.
using Aspose.Pdf;
using Aspose.Pdf.Text;
var data = System.IO.File.ReadAllBytes("document.pdf");
using var doc = Document.Open(data);
var absorber = new TextFragmentAbsorber();
absorber.Visit(doc.Pages[1]);
foreach (var fragment in absorber.TextFragments)
{
Console.WriteLine(fragment.Text);
}
Aspose.PDF FOSS для .NET выпущен под лицензией MIT, позволяя свободное использование в коммерческих продуктах без роялти за время выполнения. Исходный код публично доступен на GitHub.
Инсталлировать из NuGet с помощью dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. Библиотека ориентирована на .NET 8 и более поздние версии без встроенных зависимостей.
Библиотека читает и пишет PDF-файлы, поддерживает импорт HTML, SVG и Markdown. Доступен также растерный экспорт страницы PDF могут быть переведены в BMP, JPEG, PNG и TIFF.
Используйте Document.Create() для создания пустого документа, затем добавьте страницы и сохраните с помощью Document.Save(stream) или Document.ToArray().
Библиотека работает полностью без лицензии и бесплатно под лицензией MIT.