1. Продукты
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for .NET

Aspose.PDF FOSS for .NET

Создавайте и изменяйте PDF‑документы из .NET — с аннотациями, полями форм, извлечением текста, управлением страницами, шифрованием и импортом HTML/SVG/Markdown. С лицензией MIT.

Бесплатная библиотека .NET с лицензией MIT для создания и манипуляции PDF-файлов.

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 API: Создавайте новые PDF-файлы с помощью 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().

Общие сценарии обработки документов

  • Подготовка PDF: Создание документов программируемым способом путем создания инстанции Document и заполнения страниц содержимым.
  • ** Анализ документа:** Открыть существующие файлы для проверки метаданных, измерения размеров страниц или перечисления полей формы.
  • Подготовка страниц: Переразмер, вращение или переустройство страницы с помощью Document.ImportPage и API Page.
  • Слияние партий: Составьте разделы отчетов или страницы счетов в один PDF-файл, используя Document.MergeDocuments.

Аннотации и поля формы

  • Rich annotation API: AnnotationCollection раскрывает методы для аннотаций текста, ссылки, выделения, подчеркивания, зачеркивания, квадрата, круга, линии, чернил, штампа, каретки, редактирования, водяного знака, полигона и полилинии.
  • Link actions: Добавьте URI‑ссылки с помощью AddLinkAnnotation(rect, uri) или внутренние ссылки перехода по страницам с помощью AddLinkAnnotation(rect, destinationPage, destRect).
  • Interactive forms: Получите доступ к форме документа через Document.Form, чтобы перечислять или создавать экземпляры ButtonField, CheckboxField, RadioButtonField и ChoiceField.
  • Annotation selection: Фильтруйте аннотации по типу на всех страницах, используя AnnotationSelector с перегрузками Visit для каждого типа.
  • Annotation flags: Управляйте видимостью, печатью и блокировкой через AnnotationFlags.

Сценарии обзора документов и сотрудничества

  • Обзор разметки: Добавление примечаний с подчеркновением, подчёркиванием или свободным текстом для процессов обзора документов.
  • ** Редактирование:** Постоянно удалить регионы чувствительного контента с помощью AddRedactAnnotation.
  • ** Водяная марка:** На страницы поместите текст CONFIDENTIAL или APPROVED с указанием AddWatermarkAnnotation и AddStampAnnotation.
  • Интерактивные формы: Создать заполняемые документы с помощью радио кнопок, выборочных ящиков и списков для отбора данных.

Выделение текста и поиск

  • Поиск текста: Используйте TextFragmentAbsorber для поиска всех фрагментов текста на странице или в документе, с опциональным поиском фраз.
  • Свойства фрагмента: Каждый TextFragment раскрывает Text, Position, TextState (шрифт, размер, цвет) и ограничивающий прямоугольник.
  • Управление состоянием текста: TextFragmentState предоставляет доступ к Font, FontSize, ForegroundColor, BackgroundColor и режиму рендеринга.
  • Обнаружение таблиц: Идентифицируйте и извлекайте табличный контент с помощью AbsorbedTable, AbsorbedRow и AbsorbedCell, каждый из которых предоставляет Rect и TextFragments.

Сценарии извлечения текста и данных

  • Индексирование содержания: Вытащить весь текст страницы для поисковых линий полного текста.
  • Исключение данных формы: Читать представленные значения полей для обработки на стороне сервера.
  • Расчет счета: Используйте AbsorbedTable для анализа данных из таблиц, содержащих строки и столбцы в финансовых файлах PDF.
  • Сравнение красной линии: Найти конкретные фрагменты текста для точного замещения или комментариев на основе позиции.

Безопасность и шифрование

  • ** Шифрование AES и RC4:** Зашифруйте документы с помощью Document.Encrypt(userPassword, ownerPassword, permissions, algorithm), используя Algorithm.AESx128, AESx256 или RC4x128.
  • Контроль разрешения: Ограничить печать, копирование и доступность через DocumentPrivilege.
  • ** Управление паролями:** Измените пароли пользователя и владельца с помощью Document.ChangePasswords.
  • ** Дешифровка:** Удалить защиту с помощью Document.Decrypt().
  • Цифровые подписи: Доступ к полям для подписей и данным PKCS#7 через типы Signature и Algorithm.

Сценарии безопасности документов

  • Конфиденциальное распространение: Перед доставкой зашифруйте файлы PDF паролями каждого получателя.
  • Контракты только для печати: Применяйте пароли владельцев с DocumentPrivilege, предназначенные только paraпечатать.
  • Архивирование соответствия: Отсечь шифрование из внутренних архивов после проверки безопасности.
  • Проверка подписи: Проверить встроенные цифровые подписы на полученных файлах PDF для проверки подлинности.

Откройте PDF, добавьте аннотацию ссылки и сохраните.

Откройте существующий 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?

Aspose.PDF FOSS для .NET выпущен под лицензией MIT, позволяя свободное использование в коммерческих продуктах без роялти за время выполнения. Исходный код публично доступен на GitHub.

Как установить Aspose.PDF FOSS для .NET?

Инсталлировать из NuGet с помощью dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha. Библиотека ориентирована на .NET 8 и более поздние версии без встроенных зависимостей.

Какие форматы файлов поддерживает Aspose.PDF FOSS для .NET?

Библиотека читает и пишет PDF-файлы, поддерживает импорт HTML, SVG и Markdown. Доступен также растерный экспорт страницы PDF могут быть переведены в BMP, JPEG, PNG и TIFF.

Как я создаю новый PDF-документ?

Используйте Document.Create() для создания пустого документа, затем добавьте страницы и сохраните с помощью Document.Save(stream) или Document.ToArray().

Необходим ли лицензионный ключ для использования Aspose.PDF FOSS в .NET?

Библиотека работает полностью без лицензии и бесплатно под лицензией MIT.

  

Ресурсы поддержки и обучения

 Русский