Документирование релизов

Совет

Чтобы начать использовать SDK Documentize, у вас есть несколько вариантов загрузки бинарных файлов на вашу систему. Пожалуйста, выберите метод, который наилучшим образом соответствует вашим конкретным потребностям.

Внимание

Загружая SDK Documentize в любой форме, вы соглашаетесь с EULA Smallize.

Получить из NuGet

Самый простой способ начать работу с Documentize - установить пакет .NET напрямую из NuGet. Вот несколько быстрых методов для этого. Для получения более подробной информации посетите руководство по установке NuGet.

dotnet add package Documentize  
NuGet\Install-Package Documentize  
<PackageReference Include="Documentize" Version="24.x.x" />  

Скачать MSI установщик

Еще один вариант получения Documentize - это загрузка MSI пакета, который устанавливает необходимые сборки (DLL). Просто нажмите на следующую кнопку загрузки или узнайте больше об этом методе установки в руководстве по установке MSI.

Скачать последнюю версиюv26.09 MSI

Скачать ZIP

Вы также можете загрузить ZIP пакет, содержащий только файлы DLL, которые вы можете сохранить любым удобным для вас способом. Узнайте больше об этом в руководстве по установке ZIP.

Скачать последнюю версиюv26.09 ZIP
28 дек. 2024 г.

Подразделы Документирование релизов

О Documentize

Что такое Documentize?

Documentize — это мощный компонент .NET, который позволяет разработчикам программно создавать профессиональные и универсальные PDF-документы, устраняя необходимость в сторонних инструментах, таких как Adobe Acrobat.

Почему стоит использовать Documentize?

Вот почему Documentize выделяется среди других:

  • Легкое создание PDF: Генерируйте простые или сложные PDF-документы на лету, включая такие элементы, как таблицы, графики, изображения, гиперссылки и пользовательские шрифты.
  • Улучшенная безопасность: Интегрируйте надежные функции безопасности для защиты ваших конфиденциальных PDF-документов.
  • Гибкие варианты разработки: Выбирайте между созданием PDF с помощью удобного API или XML-шаблонов для упрощения рабочего процесса.
  • Упрощенная интеграция: Documentize бесшовно интегрируется с различными приложениями .NET, включая веб-приложения ASP.NET и настольные приложения на таких языках, как C#, VB.NET и J#.
  • Быстрота и эффективность: Легковесный компонент эффективно генерирует PDF, оптимизируя производительность вашего приложения.
  • Экономически эффективный и поддерживаемый: Наслаждайтесь конкурентоспособной ценой, исключительной производительностью и всесторонней поддержкой для гладкого процесса разработки.

Ключевые особенности

  • Поддержка разнообразного контента: Добавляйте таблицы, графики, изображения, гиперссылки, пользовательские шрифты и многое другое в ваши PDF-документы.
  • Возможности сжатия: Уменьшите размер файла ваших PDF-документов для более легкого хранения и распределения.
  • Расширенная безопасность: Реализуйте функции безопасности для защиты конфиденциальной информации в ваших PDF-документах.
  • Два метода создания: Создавайте PDF-документы с помощью программного API или XML-шаблонов для дополнительной гибкости.
  • Кроссплатформенная совместимость: Работает бесшовно с различными языками и типами приложений .NET.
  • Поддержка многопоточности: Позволяет безопасно создавать несколько PDF-документов одновременно в разных потоках.
  • Ресурсы для обучения: Получите доступ к обширным демонстрациям и рабочим примерам на C#, чтобы ускорить ваш процесс разработки.

Идеальный выбор для различных отраслей

Documentize обслуживает широкий спектр отраслей, в которых генерирование PDF-документов играет ключевую роль. К ним относятся:

  • Финансовый сектор и бухгалтерия: Генерируйте счета, квитанции, финансовые отчеты и другие важные документы.
  • Здравоохранение: Создавайте медицинские записи, рецепты и лабораторные отчеты в безопасном и стандартизированном формате.
  • Производство: Производите технические спецификации продукции, отчеты по контролю качества и транспортные документы.
  • Государственный и юридический сектор: Генерируйте разрешения, лицензии, контракты и судебные документы с улучшенными функциями безопасности.
  • Образование: Создавайте сертификаты, транскрипты, отчеты и другие академические документы.

Documentize помогает разработчикам из различных отраслей оптимизировать свои рабочие процессы создания PDF, обеспечивая эффективность, безопасность и гибкость.

28 дек. 2024 г.

Evaluate

Вы можете легко загрузить SDK Documentize для целей оценки. Оценочная версия идентична купленной версии, единственное отличие заключается в том, как вы применяете лицензию.

Ограничения оценочной версии

Оценочная версия Documentize (без указанной лицензии) предоставляет полный функционал продукта, но имеет два ограничения: она вставляет водяной знак оценки на страницы и можно просмотреть/редактировать только четыре страницы.

More information about Evaluation and License here

15 авг. 2025 г.

Установка

Установка SDK Documentize

Documentize можно установить несколькими способами, каждый из которых адаптирован к различным средам разработки и предпочтениям. Ниже приведены рекомендуемые способы установки Documentize:

1. NuGet (Предпочтительный метод)

NuGet — это самый простой и предпочтительный способ установки Documentize, который обеспечивает наличие последней версии и обновлений прямо в вашей среде разработки. Дополнительные детали о данном методе установки можно найти в Как установить SDK Documentize с помощью NuGet.

2. MSI Установщик

MSI установщик является удобным вариантом, если вы предпочитаете, чтобы DLL-файлы Documentize были установлены непосредственно на ваш компьютер. Этот метод идеален для разработчиков, которые могут захотеть использовать Documentize в нескольких проектах без необходимости вручную управлять файлами DLL. Дополнительные детали о данном методе установки можно найти в Как установить SDK Documentize с помощью MSI.

3. ZIP Архив

Для разработчиков, предпочитающих ручной подход, ZIP архив содержит DLL-файлы Documentize, которые можно извлечь и добавить в ваш проект напрямую. Дополнительные детали о данном методе установки можно найти в Как установить SDK Documentize с помощью ZIP.

28 дек. 2024 г.

Подразделы Установка

Установка Documentize через NuGet


Совет

NuGet — это бесплатный менеджер пакетов с открытым исходным кодом для .NET, который упрощает добавление, удаление и обновление библиотек в проектах Visual Studio. Он автоматически управляет файлами библиотек, ссылками и изменениями конфигурации.

Как установить через консоль менеджера пакетов NuGet

  1. Откройте свой проект:

    • Запустите Visual Studio и откройте свое .NET приложение.
  2. Доступ к консоли менеджера пакетов:

    • Перейдите в Справка > Менеджер пакетов NuGet > Консоль менеджера пакетов.
  3. Установите пакет:

    • Чтобы установить последнюю полную версию, введите команду Install-Package Documentize.
    • Чтобы установить последнюю версию, включая исправления, используйте Install-Package Documentize -prerelease.
    • Нажмите Enter, чтобы выполнить команду.

Как обновить пакет через консоль менеджера пакетов NuGet

Если вы уже установили Documentize через NuGet и хотите обновить до последней версии:

  1. Откройте свой проект:

    • Запустите Visual Studio и откройте свое .NET приложение.
  2. Доступ к консоли менеджера пакетов:

    • Перейдите в Справка > Менеджер пакетов NuGet > Консоль менеджера пакетов.
  3. Обновите пакет:

    • Чтобы обновить до последней полной версии, введите Update-Package Documentize.
    • Чтобы обновить до последней версии, включая исправления, используйте Update-Package Documentize -prerelease.
    • Нажмите Enter, чтобы выполнить команду.

Как установить через графический интерфейс менеджера пакетов NuGet

  1. Откройте свой проект:

    • Запустите Visual Studio и откройте свое .NET приложение.
  2. Перейдите к управлению пакетами NuGet:

    • В меню Проект выберите Управление пакетами NuGet.
  3. Найдите Documentize:

    • Перейдите на вкладку Обзор и введите Documentize в строку поиска.
  4. Установите пакет:

    • Нажмите Установить/Обновить рядом с последней версией Documentize.
    • Подтвердите, нажав Принять в появившемся окне.

Плюсы использования NuGet

  • Автоматическое управление зависимостями:

    • NuGet автоматически управляет зависимостями, обеспечивая правильное включение и обновление всех необходимых библиотек. Это снижает риск отсутствия или несовместимости зависимостей.
  • Упрощенные обновления:

    • Обновление пакетов с помощью NuGet довольно простое, как через консоль менеджера пакетов, так и через графический интерфейс. Это упрощает поддержку ваших библиотек в актуальном состоянии с последними возможностями и исправлениями.
  • Интеграция с Visual Studio:

    • NuGet бесшовно интегрирован с Visual Studio, предоставляя удобный интерфейс для управления пакетами, не покидая среду разработки.
  • Версионирование:

    • NuGet позволяет указывать и управлять различными версиями библиотек, что позволяет легко возвращаться к предыдущим версиям или тестировать новые релизы без нарушения процесса разработки.

Минусы использования NuGet

  • Ограничено Visual Studio:

    • NuGet в первую очередь разработан для использования в Visual Studio. Хотя его можно использовать в других средах, интеграция наиболее robust в Visual Studio.
  • Потенциальные конфликты версий:

    • В крупных проектах с множеством зависимостей управление версиями и разрешение конфликтов могут стать сложными. NuGet предоставляет инструменты для управления этим, но это требует внимательного подхода.
  • Зависимость от сети:

    • Установка и обновление пакетов требуют подключения к интернету. Если вы работаете в среде с ограниченным или отсутствующим интернет-доступом, вам, возможно, придется использовать оффлайн-методы или заранее загрузить пакеты.
  • Сложность для крупных проектов:

    • Для очень крупных проектов с расширенными деревьями зависимостей управление пакетами через NuGet может стать обременительным. В таких случаях могут потребоваться дополнительные инструменты или стратегии для эффективного управления зависимостями.

Установка Documentize с помощью MSI

Совет

MSI-установщик - это удобный и простой способ установки Documentize, особенно если вы предпочитаете, чтобы DLL-файлы были установлены в системе. Этот метод упрощает процесс установки, автоматизируя многие шаги.

Как установить с помощью MSI-установщика

  1. Скачайте MSI-установщик:

    • Нажмите на v26.09 MSI, чтобы скачать MSI-установщик последней версии Documentize.
  2. Запустите установщик:

    • Дважды щелкните на загруженный MSI-файл, чтобы открыть мастер установки.
  3. Следуйте инструкциям мастера установки:

    • Следуйте указаниям на экране, предоставленным установщиком. Возможно, вам потребуется согласиться на лицензионное соглашение и выбрать параметры установки.
  4. Завершите установку:

    • После завершения установки DLL-файлы Documentize будут установлены в глобальный кэш сборок (GAC) вашей системы или в другое указанное место.
  5. Проверьте установку:

    • Убедитесь, что DLL-файлы установлены корректно, проверив их наличие в указанной директории установки или GAC.

Плюсы использования MSI-установщика

  • Простота использования:

    • MSI-установщик предоставляет простой и понятный процесс установки. Он обрабатывает все необходимые настройки и размещает DLL-файлы в централизованном месте, что упрощает использование Documentize в нескольких проектах.
  • Установка на уровне системы:

    • Метод MSI устанавливает Documentize в глобальный кэш сборок (GAC) системы или другое центральное место. Это позволяет любому приложению в системе обращаться к DLL-файлам без необходимости указывать их отдельно в каждом проекте.
  • Автоматические обновления:

    • Если Documentize предоставляет обновленный установщик, вы можете легко обновить свою установку, запустив новый MSI-файл, который обычно обрабатывает процесс обновления гладко.
  • Согласованность:

    • Использование MSI-установщика гарантирует, что все необходимые файлы установлены корректно и согласованно в разных средах, уменьшая риск отсутствующих или неправильно размещенных DLL-файлов.

Минусы использования MSI-установщика

  • Ограниченная гибкость:

    • MSI-установщик устанавливает Documentize в системное место, что может быть не подходящим для всех сред разработки. Ему может не хватать гибкости для учета конфигураций или версий, специфичных для проекта.
  • Потенциальные накладные расходы:

    • Установка DLL-файлов в GAC может ввести накладные расходы и сложность, особенно в сценариях, когда одновременно могут потребоваться несколько версий Documentize.
  • Ручное удаление:

    • Если вам нужно удалить Documentize, вы должны использовать средство удаления, предоставляемое MSI, которое может оставить остаточные файлы или конфигурации, если не будет правильно управляться.
  • Конфликты версий:

    • Установки на уровне системы могут привести к конфликтам версий, если разные проекты требуют различных версий Documentize. Управление этими конфликтами может потребовать дополнительной настройки или очистки.

Установка Documentize через ZIP

Совет

ZIP-архив идеален для разработчиков, предпочитающих ручной подход к управлению библиотеками. Этот метод позволяет вам напрямую загружать и распаковывать необходимые файлы DLL без зависимости от менеджера пакетов или установщика.

Как установить через ZIP-архив

  1. Скачать ZIP-архив:

    • Нажмите на v26.09 ZIP, чтобы скачать последнюю версию Documentize в архивном формате.
  2. Извлечь содержимое:

    • После загрузки распакуйте содержимое ZIP-файла в каталог по вашему выбору. Вы можете выбрать, сохранить эти файлы в общем каталоге или внутри структуры вашего проекта.
  3. Добавить ссылки на ваш проект:

    • Откройте ваш проект в вашей IDE (например, Visual Studio).
    • Перейдите в Проект > Добавить ссылку > Обзор и перейдите в каталог, где вы извлекли DLL-файлы.
    • Выберите соответствующие DLL-файлы и добавьте их в качестве ссылок на ваш проект.
  4. Ручные обновления:

    • Если новая версия Documentize будет выпущена, вам нужно будет вручную скачать обновленный ZIP-архив и заменить старые DLL-файлы в вашем проекте на новые.

Плюсы использования ZIP-архива

  • Полный контроль:

    • У вас есть полный контроль над тем, где и как DLL-файлы хранятся и ссылаются в вашем проекте. Это может быть полезно, если вы предпочитаете индивидуальную настройку или вам нужно управлять зависимостями вручную.
  • Нет зависимости от менеджеров пакетов:

    • В отличие от NuGet, вы не зависите от менеджера пакетов для обработки установок. Это может быть выгодно в средах, где менеджеры пакетов недоступны или нежелательны.
  • Портативность:

    • ZIP-архив можно легко передавать и перемещать между различными системами, что делает его идеальным для проектов, которые должны быть портативными или распространяемыми без зависимости от внешних инструментов.

Минусы использования ZIP-архива

  • Ручное управление:

    • В отличие от NuGet, где обновления и управление зависимостями автоматизированы, с ZIP-архивом вам необходимо вручную управлять обновлениями и следить за тем, чтобы все необходимые DLL были правильно подключены.
  • Риск конфликтов версий:

    • Если вы управляете несколькими проектами или работаете в команде, существует риск конфликтов версий, если разные проекты используют разные версии DLL. Это требует тщательного отслеживания версий между проектами.
  • Нет автоматических обновлений:

    • Вы не получите автоматических обновлений или уведомлений, когда будет доступна новая версия. Это может привести к использованию устаревших библиотек, если вы не будете регулярно проверять наличие обновлений.

Невиндоусная среда

Работа с .NET Core DLL в невиндоусной среде

Поскольку Documentize для .NET поддерживает .NET Standard 2.0 ( .NET Core 2.0), его можно использовать в ядре приложений, работающих в операционных системах, подобных Linux. Мы постоянно работаем над улучшением поддержки .NET Core в нашем API. Тем не менее, есть некоторые операции, которые мы рекомендуем нашим клиентам выполнять, чтобы добиться лучших результатов при использовании функций Documentize для .NET. Пожалуйста, установите:

  • пакет libgdiplus
  • пакет с шрифтами, совместимыми с Microsoft: ttf-mscorefonts-installer (например, sudo apt-get install ttf-mscorefonts-installer). Эти шрифты должны быть размещены в директории /usr/share/fonts/truetype/msttcorefonts, так как Documentize для .NET сканирует эту папку в операционных системах, подобных Linux. В случае, если операционная система имеет другую папку/директорию по умолчанию для шрифтов, вы должны использовать следующую строку кода перед выполнением любой операции с использованием Documentize:
    Documentize.Pdf.Text.FontRepository.Sources.Add(new FolderFontSource("<путь пользователя к шрифтам ms>"));

Что нового

v26.9

  • Удалён класс FormFlattener
  • Класс GetFieldNamesOptions переработан
  • Другие исправления

v26.8

  • Класс SignOptions переработан
  • Удалён класс **Signature**
  • Удалён класс **FormExporter**
  • Улучшенный класс **FileData**
  • Другие исправления

v26.7

  • Удалён класс ImageExtractor
  • Удалён класс Timestamp
  • Другие исправления

v26.6

  • PdfSecurity: Добавлена возможность подписывать PDF с меткой времени без PFX
  • Удалён Class TextExtractor
  • Добавлено больше информации и подсказок для новых сущностей
  • Добавлена информация о санитизации в документацию и продукты
  • Исправлено исключение при конвертации HTML в PDF
  • Другие исправления

v26.5

  • Новая функция **Sanitize** для безопасности PDF
  • Новый класс **OptionsWithInputAndOutput**
  • Улучшена производительность конвертации PDF в JPEG
  • Обновлена страница продукта «FAQs» для этого сайта
  • Другие исправления

v26.4

  • Исправлена ошибка PdfExtractor.Extract
  • Улучшена производительность рендеринга PDF в TIFF
  • Создана страница продукта «PDF Converter» для этого сайта
  • Прочие исправления

v26.3

  • Переименовано IDataSource в IData
  • Переименовано FileDataSource в FileData
  • Переименовано StreamDataSource в StreamData
  • Переименовано DirectoryDataSource в DirectoryData
  • Переименовано свойство Delimiter в Feature ExtractFormDataToDsvOptions
  • Создана страница продукта «PDF Manager» для этого сайта
  • Создана страница продукта «PDF Form» для этого сайта
  • Исправлены проблемы

v26.2

  • Расширенные возможности извлечения свойств для PDF Extractor
  • Расширенные возможности извлечения текста для PDF Extractor
  • Исправленные ошибки

v26.1

  • Новая функция «Extract Properties» для PDF Extractor
  • Улучшения
  • Исправленные баги

v25.12

  • Новый плагин PDF Form
  • Изменения в PDF Extractor
  • Улучшения
  • Исправленные ошибки

v25.11

  • Новый плагин PDF Converter
  • Новый плагин PDF Security
  • Плагин PdfChatGpt интегрирован в PdfManager
  • Новые параметры для работы с ChatGpt
  • Улучшения
  • Исправленные баги

v25.10

  • Новый плагин PDF Extractor
  • Новый плагин PDF Manager
  • Улучшена удобство использования TableGenerator
  • Улучшена удобство использования PdfChatGpt
  • Исправленные ошибки

v25.9

  • Улучшена удобность использования DocConverter и добавлен дополнительный режим
  • Улучшена удобность использования PdfAConverter
  • Улучшена удобность использования Timestamp
  • Обновлена документация
  • Исправленные ошибки

v25.8

  • Улучшена удобность использования JpegConverter
  • Улучшена удобность использования PngConverter
  • Улучшена удобность использования XlsConverter
  • Улучшена удобность использования Signature
  • Изменены конструкторы PdfToHtmlOptions
  • Изменён признак оценки TextExtractor
  • Обновлена документация
  • Исправлены ошибки

v25.7

  • Улучшенная удобность Text Extractor
  • Улучшенная удобность Html Converter
  • Улучшенная удобность Image Extractor
  • Небольшие исправления

v25.6

  • Улучшенная удобство использования Tiff Converter

v25.5

  • Добавлен новый плагин: Form Exporter
  • Улучшена удобство использования Security

v25.4

  • Улучшенная удобность Optimizer
  • Улучшенная удобность Plugin Splitter
  • Улучшенная удобность Plugin Merger

v25.3

  • Добавлен новый плагин: Form Flattener

v25.2

  • Добавлен новый плагин: TOC Generator

v25.1

  • Улучшенный плагин: ImageExtractor

v24.12

  • Добавлен новый плагин: PDF в PNG Converter
  • Добавлен новый плагин: PDF в TIFF Converter
  • Добавлен новый плагин: PDF Table Generator
  • Переименован класс PdfDoc в DocConverter

v24.11

  • Добавлен новый плагин: Конвертер PDF в JPEG
  • Добавлен класс DirectoryDataSource
  • Добавлен класс PdfToJpegOptions

v24.10

  • Добавлен новый плагин: PDF/A Converter

v24.9

  • Выпущено
10 окт. 2024 г.

Подразделы Что нового

v26.9

Удалён класс FormFlattener

  • Предыдущая реализация плагинов постепенно выводится из эксплуатации. Функциональность этого класса заменена классом PdfForm.
  • Class FormFlattener: удалён, используйте PdfForm.

Пример использования:

Пример демонстрирует, как выполнить «сплющивание» (flatten) полей в PDF‑файле.

// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Flatten(options);

Пример использования:

Пример демонстрирует, как выполнить «сплющивание» полей в PDF‑файле и пропустить первое поле.

// Get Fields Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Skip 1 field.
options.SkipFields.Add(fieldNames[0]);
// Perform the process
PdfForm.Flatten(options);

Класс GetFieldNamesOptions переработан

  • Наследуется от класса OptionsWithInput.
  • Добавлено свойство Input.

Пример использования:

Пример демонстрирует, как получить имена полей из PDF‑файла.

// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));

Пример использования:

Пример демонстрирует, как получить имена полей из PDF‑потока.

// Prepare input stream
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
// Get Field Names
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions(inputStream));

Другие исправления

📄 PDF в DOC

  • Исправлена ошибка при конвертации PDF в DOC, вызывавшая OutOfMemoryException
  • Исправлена ошибка при конвертации PDF в HTML, из‑за которой шапка футера отображалась некорректно

🖼️ PDF в JPEG

  • Исправлена ошибка при конвертации PDF в JPEG, вызывавшая OutOfMemoryException
  • Исправлена ошибка при конвертации PDF в PNG, вызывавшая InvalidOperationException
  • Исправлена проблема с отсутствием информации в выводе PDF в TIFF

📑 PDF в PDF/A

  • Исправлен вывод PDF/A, некорректный для PDF/A-1b или PDF/A-3b
  • Исправлена ошибка при конвертации в PDF/A-2b, вызывавшая InvalidCastException
7 сент. 2026 г.

v26.8

Класс SignOptions переработан

  • Теперь им проще пользоваться.
  • Наследуется от класса OptionsWithInputAndOutput.
  • Свойства Inputs и Outputs изменены на Input и Output. Теперь имеется только один вход и один выход.
  • Если вывод — файл, его поток будет закрыт автоматически, но если это Stream, он останется открытым для дальнейшего использования.
  • Удалены методы AddInput, AddOutput.
  • Добавлено несколько более удобных конструкторов:
    • SignOptions(IData inputData, IData outputData, IData pfxData, string password)
    • SignOptions(string inputFile, string outputFile, string pfxFile, string pfxPassword)
    • SignOptions(Stream inputStream, Stream outputStream, Stream pfxStream, string pfxPassword)
  • Добавлены изменяемые свойства:
    • Stream Pfx
    • string PfxPassword
    • IData Input
    • IData Output

Пример использования

using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");

// Set input and output file paths
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");

Пример использования

PdfSecurity.Sign(new SignOptions(
    "path_to_your_pdf_file.pdf",
    "path_to_result_pdf_file.pdf",
    "path_to_your_pfx_file.pfx",
    "password_of_your_pfx_file"));

Пример использования

// Prepare streams
using var pdfStreamInput = File.OpenRead(@"path_to_your_pdf_file.pdf");
using var pfxStreamInput = File.OpenRead(@"path_to_your_pfx_file.pfx");
using var pdfStreamOutput = new MemoryStream();

// Create SignOptions object to set instructions
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");

// Perform the process
PdfSecurity.Sign(options);

Удалён класс Signature

  • Предыдущие реализации плагинов постепенно выводятся из эксплуатации. Функциональность этого класса заменена классом PdfSecurity.
  • Class Signature: удалён, используйте PdfSecurity.

Пример использования

// Create SignOptions object to set instructions
var options = new SignOptions(
    "path_to_your_pdf_file.pdf",
    "path_to_result_pdf_file.pdf",
    "path_to_your_pfx_file.pfx",
    "password_of_your_pfx_file");

// Perform the process
PdfSecurity.Sign(options);

Удалён класс FormExporter

  • Предыдущие реализации плагинов постепенно выводятся из эксплуатации. Функциональность этого класса заменена классами PdfExtractor и PdfForm.
  • Class FormExporter: удалён, используйте PdfExtractor или PdfForm.

Пример использования

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);

// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));

// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.csv"));

// Perform the process
PdfExtractor.Extract(options);

Пример использования

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions();

// Set delimiter
options.Delimiter = '\t';

// Add field names to result
options.AddFieldName = true;

// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));

// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));

// Perform the process
PdfForm.Extract(options);

Улучшенный класс FileData

  • Переопределён метод ToString().

Другие исправления

📄 PDF to DOC

  • Исправлена слишком длительная конверсия PDF в DOC.

🌐 PDF to HTML / HTML to PDF

  • Исправлена конверсия PDF в HTML, которая создавала прозрачные изображения.
  • Исправлена конверсия HTML в PDF, при которой содержимое накладывалось друг на друга.
  • Исправлена конверсия HTML в PDF, при которой игнорировалась ширина таблицы.

🖼️ PDF to PNG / TIFF

  • Исправлена конверсия PDF в PNG, потреблявшая чрезмерную память.
  • Исправлена конверсия PDF в PNG, не сохраняющая встроенные шрифты.
  • Исправлена конверсия PDF в TIFF, вызывавшая исключение.

📑 PDF to PDF/A

  • Исправлена конверсия PDF в PDF/A, теряющая цвета документа.
  • Исправлена конверсия PDF в PDF/A, при которой текст накладывался в результирующем файле.
  • Исправлен метод Validate() в конверсии PDF в PDF/A, возвращающий неправильные результаты.
  • Исправлена проверка PDF/A, выдающая некорректные результаты.

📂 Other Operations

  • Исправлено бросание System.FormatException при проверке подписи PDF.
  • Исправлено бросание исключения при объединении документов.
13 авг. 2026 г.

v26.7

Удалён класс ImageExtractor

  • Предыдущая реализация плагинов постепенно выводится из эксплуатации. Функциональность этого класса заменена классом PdfExtractor.
  • Class ImageExtractor: удалён, используйте PdfExtractor.

Пример использования:

Пример демонстрирует, как извлекать изображения из PDF‑документа.

// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();

Удалён класс Timestamp

  • Функциональность этого класса заменена классом PdfSecurity.
  • Class Timestamp: удалён, используйте PdfSecurity.
  • Class AddTimestampOptions: удалён, используйте SignOptions и TimestampOptions.

Пример использования:

Пример демонстрирует, как подписать PDF‑документ с использованием таймстампа.

// Create SignOptions object to set Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);

Другие исправления

🖥️ HTML в PDF

  • Исправлена конверсия HTML в PDF, при которой происходило наложение изображений и текста
  • Исправлена конверсия HTML в PDF, при которой содержимое страницы не помещалось корректно
  • Исправлена проблема с чёрной полосой в сгенерированном PDF

📑 PDF в PDF/A

  • Исправлена ошибка API PDF в PDF/A, вызывавшая исключение
  • Исправлена конверсия PDF в PDF/A, приводившая к неправильному форматированию вывода
  • Исправлена проблема с потреблением памяти при конвертации PDF в PDF/A
  • Исправлена проблема конвертации в PDF/A‑3a

⚙️ Прочее

  • Исправлено отсутствие текста при конвертации PDF в PNG и HTML
  • Исправлена проблема, при которой некоторые поля становились пустыми после «flattening»
  • Исправлена ошибка, при которой PDF‑документ показывал сообщение об ошибке после «flattening»
  • Исправлена проблема, при которой оптимизация PDF нарушала форматирование содержимого
7 сент. 2026 г.

v26.6

PdfSecurity: Добавлена возможность подписывать PDF с меткой времени без PFX

  • Теперь вы можете добавить метку времени к PDF‑документу без указания файла PFX и пароля.
  • Class SignOptions: имеет конструктор с Class TimestampOptions.

Пример использования:

Пример показывает, как подписать PDF‑документ с меткой времени.

// Create SignOptions object to set Timestamp
var options = new SignOptions(new TimestampOptions("server_url"));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);

Удалён Class TextExtractor

  • Предыдущее внедрение плагинов постепенно выводится из эксплуатации. Функциональность этого класса заменена на Class PdfExtractor.
  • Class TextExtractor: удалён, используйте PdfExtractor.

Добавлено больше информации и подсказок для новых сущностей

  • Добавлены XML‑комментарии для OptionsWithInputAndOutput и SanitizeOptions.
  • Добавлена информация о значениях по умолчанию в SanitizeOptions.

Добавлена информация о санитизации в документацию и продукты

Исправлено исключение при конвертации HTML в PDF

Другие исправления

📄 General / System

  • Исправлено слияние повреждённых PDF‑документов
  • Исправлена обработка повреждённых файлов
  • Исправлена System.StackOverflowException при открытии PDF‑файла
  • Исправлено зависание извлечения текста на некоторых PDF‑файлах

🌐 HTML → PDF

  • Исправлено: китайские символы отображаются некорректно при конвертации HTML в PDF

📑 PDF → DOC

  • Исправлено: выделение аннотации всё ещё закрывает текст
  • Исправлено: изображения отображаются некорректно
  • Исправлена проблема с производительностью конвертации PDF в DOC

📊 PDF → Excel

  • Исправлено: изображение таблицы игнорируется при конвертации PDF в Excel

🖼️ PDF → PNG

  • Исправлено: конвертация в PNG занимает чрезмерно много времени

🛡️ PDF → PDF/A

  • Исправлено: потеря соответствия PDF A-1A и повреждение формы после сохранения
  • Исправлено: проблема времени конвертации PDF в PDFA
  • Исправлено: потеря полупрозрачности при конвертации PDF в PDFA
  • Исправлена проблема наложения текста при конвертации PDF в PDFA
  • Исправлена проблема рендеринга текста при конвертации PDF в PDFA
  • Исправлена коррумпция документа при конвертации PDF в PDFA3b.
7 сент. 2026 г.

v26.5

Новая функция Sanitize для безопасности PDF

  • Очищает скрытые данные из PDF‑документа, гарантируя, что чувствительная или лишняя информация, такая как метаданные, вложения, аннотации, JavaScript, формы, слои, индекс поиска или приватный контент, будет удалена или преобразована.
  • Class PdfSecurity: добавлен метод Sanitize для очистки PDF‑документа.
  • Class SanitizeOptions: представляет параметры конфигурации для очистки скрытых данных в документе класса PdfSecurity.
  • Property Input: получает или задаёт входные данные.
  • Property Output: получает или задаёт выходные данные.
  • Property ConvertPagesToImages: получает или задаёт параметр конвертации страниц в изображения.
  • Property ImageDpi: получает или задаёт параметр разрешения изображений страниц при конвертации страниц в изображения.
  • Property RemoveAnnotations: получает или задаёт значение, указывающее, следует ли удалять аннотации из документа.
  • Property RemoveSearchIndexAndPrivateInfo: получает или задаёт значение, указывающее, следует ли удалять индекс поиска и приватную информацию из документа.
  • Property FlattenForms: получает или задаёт значение, указывающее, следует ли «уплощать» формы в документе во время процесса очистки.
  • Property FlattenLayers: получает или задаёт параметр уплощения слоёв в PDF‑документе.
  • Property RemoveJavaScriptsAndActions: получает или задаёт значение, указывающее, следует ли удалять JavaScript и связанные с ним действия из документа.
  • Property RemoveMetadata: получает или задаёт параметр удаления метаданных из документа.
  • Property RemoveAttachments: получает или задаёт параметр удаления всех вложенных файлов из документа.

Пример использования:

Пример демонстрирует, как выполнить очистку PDF‑документа.

// Создать объект SanitizeOptions и указать входной и выходной файлы
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF из потока в поток.

// Подготовить входной и выходной потоки
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream = new MemoryStream();
// Создать объект SanitizeOptions и указать входные и выходные потоки
var options = new SanitizeOptions(inputStream, outputStream);
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF из файла в поток.

// Подготовить выходной поток
using var outputStream = new MemoryStream();
// Создать объект SanitizeOptions и указать входной файл и выходной поток
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", outputStream);
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF из файла в поток с ручной настройкой свойств Input и Output.

// Создать объект SanitizeOptions
var options = new SanitizeOptions();
// Установить входной файл
options.Input = new FileData("path_to_your_pdf_file.pdf");
// Установить выходной файл
options.Output = new FileData("path_to_result_pdf_file.pdf");
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF без удаления метаданных.

// Создать объект SanitizeOptions и указать входной и выходной файлы
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveMetadata = false;
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF без удаления вложений.

// Создать объект SanitizeOptions и указать входной и выходной файлы
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveAttachments = false;
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF с конвертацией всех страниц в изображения и заданным DPI результата.

// Создать объект SanitizeOptions и указать входной и выходной файлы
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Включить конвертацию и установить DPI
options.ConvertPagesToImages = true;
options.ImageDpi = 200;
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF без удаления JavaScript и связанных действий.

// Создать объект SanitizeOptions и указать входной и выходной файлы
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveJavaScriptsAndActions = false;
// Выполнить процесс
PdfSecurity.Sanitize(options);

Пример использования:

Пример демонстрирует, как выполнить очистку PDF‑файла в самом коротком варианте.

PdfSecurity.Sanitize(new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf"));

Новый класс OptionsWithInputAndOutput

  • Представляет базовые параметры для операций с одним входным и одним выходным набором данных.
  • Based on OptionsWithInput.
  • Property Input: получает или задаёт входные данные.
  • Property Output: получает или задаёт выходные данные.

Улучшена производительность конвертации PDF в JPEG

Обновлена страница продукта «FAQs» для этого сайта

https://docs.documentize.com/faqs/

Другие исправления

  • Исправлена проблема с низкой скоростью конвертации большого HTML в PDF
  • Исправлена ошибка OutOfMemoryException при конвертации PDF в HTML
  • Исправлено обрезание содержимого страниц при конвертации PDF в PDFA
  • Исправлена проблема рендеринга прозрачных изображений при конвертации PDF в PDFA
  • Исправлена потеря аннотаций в выводе при конвертации PDF в PDFA2b
  • Исправлено отображение инвертированного изображения в PDF/A‑файле после конвертации PDF в PDF/A
  • Исправлена несоответствие получаемого файла требованиям PDF/A_2a при конвертации PDF в PDF/A
  • Исправлена несоответствие получаемого файла требованиям PDF/A при конвертации PDF в PDF/A
  • Исправлена черная подпись после конвертации PDF в PDF/A
  • Исправлено неожиданное изменение выравнивания текста при конвертации PDF в PDF/A
  • Исправлена избыточная длительность конвертации PDF в PNG
  • Исправлен неправильный вывод изображения при конвертации PDF в PNG
  • Исправлена появляющаяся тёмная полоса на выводимом изображении при конвертации PDF в PNG
  • Исправлена ошибка проверки соответствия PDF/A_1b документа
7 сент. 2026 г.

v26.4

Исправлена ошибка PdfExtractor.Extract

  • Метод PdfExtractor.Extract: не бросает исключение, если даты Created и Modified не найдены во входном документе.
  • Свойство PdfProperties.Created: возвращает null, если значение не найдено во входном документе. Тип данных изменён с DateTime на DateTime?.
  • Свойство PdfProperties.Modified: возвращает null, если значение не найдено во входном документе. Тип данных изменён с DateTime на DateTime?.

Пример использования

Пример демонстрирует, как получить свойства Created и Modified

// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);

var created = pdfProperties.Created;
var modified = pdfProperties.Modified;

Улучшена производительность рендеринга PDF в TIFF

Создана страница продукта «PDF Converter» для этого сайта

https://products.documentize.com/pdf-converter/

Прочие исправления

  • Исправлен HTML → PDF – очень низкая производительность при большом объёме HTML‑текста
  • Исправлен HTML → PDF – заголовок и нижний колонтитул не отображались на последующих страницах
  • Исправлен HTML → PDF – подсказка (tooltip) некорректно рендерилась
  • Исправлен PDF → DOC – при конвертации возникало исключение OutOfMemory
  • Исправлен PDF → XLS – объединённые столбцы склеивались в один столбец
  • Исправлен PDF → HTML – отсутствовали фоновые изображения
  • Исправлен PDF → HTML – локальные гиперссылки не отображались
  • Исправлен PDF → JPEG – полученное изображение было чёрным
  • Исправлен PDF → PDF/A – проблемы с форматированием в результирующем файле
  • Исправлен PDF → PDF/A_1b – полученный файл не соответствовал стандарту
  • Исправлен PDF → PDF/A_3b – проблемы с форматированием текста в выходном файле
  • Исправлен PDF → PDF/A-2B – при конвертации исчезали математические символы при использовании OpenType MATH шрифтов
7 сент. 2026 г.

v26.3

Переименовано IDataSource в IData

  • Interface IDataSource: переименован в IData.
  • Классы параметров теперь проще в использовании.

Переименовано FileDataSource в FileData

  • Class FileDataSource: переименован в FileData.
  • Классы параметров теперь проще в использовании.
  • Обновлены и исправлены XML‑комментарии.
  • Все примеры с Input и Output обновлены.

Пример использования:

В примере показано, как использовать FileData в Input и Output.

// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Encrypt(options);

Переименовано StreamDataSource в StreamData

  • Class StreamDataSource: переименован в StreamData.
  • Классы параметров теперь проще в использовании.
  • Обновлены и исправлены XML‑комментарии.
  • Все примеры с Input и Output обновлены.

Пример использования:

В примере показано, как использовать StreamData в Output.

// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output stream 
var outputStream = new MemoryStream();
options.AddOutput(new StreamData(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);

Переименовано DirectoryDataSource в DirectoryData

  • Class DirectoryDataSource: переименован в DirectoryData.
  • Классы параметров теперь проще в использовании.
  • Все примеры с Input и Output обновлены.

Пример использования:

В примере показано, как экспортировать значения формы в TSV‑файл и задать свойства.

// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryData("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Переименовано свойство Delimiter в Feature ExtractFormDataToDsvOptions

Опечатка в слове исправлена.

Пример использования:

В примере показано, как экспортировать значения формы в TSV‑файл и задать свойства.

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions();
// Set Delimiter
options.Delimiter = '\t';
// Add Field Names to result
options.AddFieldName = true;
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Perform the process
PdfExtractor.Extract(options);

Создана страница продукта «PDF Manager» для этого сайта

https://products.documentize.com/pdf-manager/

Создана страница продукта «PDF Form» для этого сайта

https://products.documentize.com/pdf-form/

Исправлены проблемы

  • Исправлена ошибка, при которой Image to PDF вызывал исключение Out of Memory
  • Исправлена ошибка, при которой генерация оглавления (Table of Contents) давала некорректные результаты
  • Исправлена ошибка, при которой свойство OptimizeResources UnembedFonts вызывало исключение
  • Исправлена ошибка, при которой PDF to HTML некорректно применял шрифты в Internet Explorer
  • Исправлена ошибка, при которой PDF to HTML создавал смещённые элементы и символы форматирования
  • Исправлена ошибка, при которой процесс преобразования PDF to PDF/A зависал
  • Исправлена ошибка, при которой PDF to PDF/A удалял поля формы и их значения
  • Исправлена ошибка, при которой вывод PDF to PDF/A не соответствовал PDF/A_1a
  • Исправлена ошибка, при которой вывод PDF to PDF/A не соответствовал PDF/A_2b
  • Исправлена ошибка, при которой вывод PDF to PDF/A‑3A не проходил проверку Preflight
  • Исправлена ошибка, при которой вывод PDF to PDF/A‑3B не проходил проверку Preflight
7 сент. 2026 г.

v26.2

Расширенные возможности извлечения свойств для PDF Extractor

  • Class Extractor: может извлекать новые метаданные из PDF‑документов.
  • Class PdfProperties: добавлены свойства: FileName, Created, Modified, Application, PdfProducer.

Пример использования:

Пример демонстрирует, как извлечь свойства (FileName, Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) из PDF‑файла.

// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var filename = pdfProperties.FileName;
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;

Пример использования:

Пример демонстрирует, как извлечь свойства (Title, Author, Subject, Keywords, Created, Modified, Application, PDF Producer, Number of Pages) из PDF‑потока.

// Create ExtractPropertiesOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var created = pdfProperties.Created;
var modified = pdfProperties.Modified;
var application = pdfProperties.Application;
var pdfProducer = pdfProperties.PdfProducer;
var numberOfPages = pdfProperties.NumberOfPages;

Расширенные возможности извлечения текста для PDF Extractor

  • Работа с извлечением текста и параметрами извлечения теперь проще: вы можете указать входные данные и получить результат проще, чем прежде.
  • Class ExtractTextOptions: реализует IHaveInput. Использует только один набор входных данных. Допустимые типы данных: File и Stream.
  • Method Extract(ExtractTextOptions options): возвращает строку с результатами.
  • Object ResultContainer: удалён из ExtractTextOptions.

Пример использования:

Пример демонстрирует, как извлечь текстовое содержание из PDF‑файла.

// Create ExtractTextOptions object to set input file path
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf");
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);

Пример использования:

Пример демонстрирует, как извлечь текстовое содержание из PDF‑потока.

// Create ExtractTextOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractTextOptions(stream);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);

Пример использования:

Пример демонстрирует, как извлечь текстовое содержание PDF‑документа с указанием TextFormattingMode.

// Create ExtractTextOptions object to set input file path and TextFormattingMode
var options = new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure);
// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(options);

Пример использования:

Пример демонстрирует самый короткий способ извлечения текста из PDF‑файла.

// Perform the process and get the extracted text
var textExtracted = PdfExtractor.Extract(new ExtractTextOptions("path_to_your_pdf_file.pdf", TextFormattingMode.Pure));

Исправленные ошибки

  • Конвертация файлов Jpeg2000 в PDF завершается с ошибкой
  • Проблема при объединении PDF
  • Изменение размера страниц PDF приводит к пустому выводу
  • PDF в HTML: выделенный цвет виден, но текст отсутствует
  • PDF в HTML: сгенерирован некорректный HTML
  • PDF в HTML: вертикальный текст слева отсутствует
  • PDF в HTML: текст в заголовке исчезает
  • PDF в HTML: прозрачный аннотированный текст не виден
  • PDF в PNG: некоторые китайские символы не отображаются
7 сент. 2026 г.

v26.1

Новая функция «Extract Properties» для PDF Extractor

  • Извлечение свойств PDF: Title, Author, Subject, Keywords, Number of Pages.
  • Class PdfExtractor: добавлен метод Extract для извлечения свойств PDF.
  • Class ExtractPropertiesOptions: представляет параметры извлечения свойств PDF для плагина PdfExtractor.
  • Class PdfProperties: представляет свойства и метаинформацию PDF‑документа.
  • Interface IHaveInput: используется для параметров с единственным входным данными.
  • Class OptionsWithInput: используется для параметров с единственным входным данными.
  • Полностью бесплатный функционал.

Пример использования:

Пример демонстрирует, как извлечь свойства (Title, Author, Subject, Keywords, Number of Pages) из PDF‑файла.

// Create ExtractPropertiesOptions object to set input file
var options = new ExtractPropertiesOptions("path_to_your_pdf_file.pdf");
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;

Пример использования:

Пример демонстрирует, как извлечь свойства (Title, Author, Subject, Keywords, Number of Pages) из PDF‑потока.

// Create ExtractPropertiesOptions object to set input stream
var stream = File.OpenRead("path_to_your_pdf_file.pdf");
var options = new ExtractPropertiesOptions(stream);
// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(options);
var title = pdfProperties.Title;
var author = pdfProperties.Author;
var subject = pdfProperties.Subject;
var keywords = pdfProperties.Keywords;
var numberOfPages = pdfProperties.NumberOfPages;

Пример использования:

Пример демонстрирует, как извлечь свойства из PDF‑файла в максимально короткой форме.

// Perform the process and get Properties
var pdfProperties = PdfExtractor.Extract(new ExtractPropertiesOptions("path_to_your_pdf_file.pdf"));

Улучшения

  • Улучшена функция HTML → PDF с поддержкой альтернативного текста для изображений.
  • PDF → PDFA1b соответствие требованиям.

Исправленные баги

  • Ошибка, возникающая при попытке оптимизировать PDF‑файл.
  • Проблема вертикального выравнивания полей формы.
  • Исправлена проблема отображения японского текста в FormField.
  • Ошибка форматирования таблиц при конвертации HTML → PDF.
  • Оптимизация размера PDF перед конвертацией PDF → PDF/A приводила к повреждённому результату.
  • При конвертации PDF → DOC таблицы отображались некорректно.
  • При конвертации PDF → Excel возникали проблемы с форматированием выходного файла.
  • При конвертации PDF → HTML возникало исключение ArgumentException.
  • При конвертации PDF → HTML некоторые ссылки отсутствовали.
  • Текст отсутствовал при конвертации PDF в HTML.
7 сент. 2026 г.

v25.12

Новый плагин PDF Form

  • Class PdfForm: содержит все функции плагинов: FormFlattener, FormExporter. Также позволяет удалять и получать поля.
  • Class FormFlattener: будет удалён скоро, используйте PdfForm.
  • Class FormFlattenerOptions: переименован в Class FlattenFieldsOptions.
  • Class GetFieldNamesOptions: позволяет задавать параметры для получения имён полей.
  • Class RemoveFieldsOptions: позволяет задавать параметры для удаления полей.
  • См. The New Plugin Architecture.

Пример использования:

Пример демонстрирует, как выполнить «сплющивание» полей в PDF‑файле.

// Create FlattenFieldsOptions object to set instructions
var options = new FlattenFieldsOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Flatten(options);

Пример использования:

Пример демонстрирует, как получить имена полей из PDF‑файла.

var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));

Пример использования:

Пример демонстрирует, как экспортировать значения формы в CSV‑файл.

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
PdfForm.Extract(options);

Пример использования:

Пример демонстрирует, как удалить поля из PDF‑файла.

// Create RemoveFieldsOptions object to set instructions
var options = new RemoveFieldsOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfForm.Remove(options);

Изменения в PDF Extractor

  • Method ExtractText: переименован в Method Extract.
  • Method ExtractImages: переименован в Method Extract.
  • Method ExtractFormData: переименован в Method Extract.

Пример использования:

Пример демонстрирует, как извлечь текстовое содержание PDF‑документа.

// Create ExtractTextOptions object to set instructions
var options = new ExtractTextOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();

Пример использования:

Пример демонстрирует, как извлечь изображения из PDF‑документа.

// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.Extract(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();

Пример использования:

Пример демонстрирует, как экспортировать значения формы в CSV‑файл.

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
PdfExtractor.Extract(options);

Улучшения

  • Class PdfConverterOptions, PdfToXlsOptions — использовать Class PluginBaseOptions
  • Конвертация в PDF/A-1b
  • Конвертация в PDF/A-2b

Исправленные ошибки

  • Исправлены проблемы форматирования при конвертации HTML в PDF
  • При конвертации PDF в HTML некоторые ссылки терялись
7 сент. 2026 г.

v25.11

Новый плагин PDF Converter

  • Class PdfConverter: содержит все функции плагинов: DocConverter, XlsConverter, HtmlConverter, JpegConverter, PdfAConverter, PngConverter, TiffConverter.
  • Class DocConverter: будет удалён в ближайшее время, используйте PdfConverter.
  • Class XlsConverter: будет удалён в ближайшее время, используйте PdfConverter.
  • Class HtmlConverter: будет удалён в ближайшее время, используйте PdfConverter.
  • Class JpegConverter: будет удалён в ближайшее время, используйте PdfConverter.
  • Class PdfAConverter: будет удалён в ближайшее время, используйте PdfConverter.
  • Class PngConverter: будет удалён в ближайшее время, используйте PdfConverter.
  • Class TiffConverter: будет удалён в ближайшее время, используйте PdfConverter.
  • Class PdfAConvertOptions: переименован в Class PdfToPdfAOptions.
  • Смотрите The New Plugin Architecture.

Пример использования:

Пример демонстрирует, как преобразовать PDF‑документ в формат Doc.

// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Perform the process
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как преобразовать PDF в документ XLSX.

// Create PdfToXlsOptions object to set instructions
var options = new PdfToXlsOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Perform the process
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как преобразовать PDF в HTML‑документ.

// Create PdfToHtmlOptions object to set output data type as file with embedded resources
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.html"));
//Perform the process
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как преобразовать HTML в PDF‑документ.

// Create HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_input.html"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
//Perform the process
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как преобразовать PDF‑документ в формат JPEG.

// Create PdfToJpegOptions object to set instructions
var options = new PdfToJpegOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как преобразовать PDF‑документ в формат PNG.

// Create PdfToPngOptions object to set instructions
var options = new PdfToPngOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как преобразовать PDF‑документ в формат TIFF.

// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как преобразовать PDF‑документ в PDF/A (в данном случае PDF/A‑3b).

// Create the options class to set up the conversion process
var options = new PdfToPdfAOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_3B
};

// Add the source file
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // replace with your actual file path

// Add the path to save the converted file
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));

// Run the conversion
PdfConverter.Convert(options);

Пример использования:

Пример демонстрирует, как проверить соответствие PDF‑документа формату PDF/A (в данном случае PDF/A‑1a).

// Create the options class to set up the validation process
var options = new PdfAValidateOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_1A
};

// Add one or more files to be validated
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // replace with your actual file path
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// add more files as needed

// Run the validation and get results
var resultContainer = PdfConverter.Validate(options);

// Check the resultContainer.ResultCollection property for validation results for each file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
    var result = resultContainer.ResultCollection[i];
    var validationResult = (PdfAValidationResult) result.Data;
    var isValid = validationResult.IsValid; // Validation result for the i-th document
}

Новый плагин PDF Security

  • Class PdfSecurity: содержит все функции плагинов: Security, Signature, Timestamp.
  • Class Security: будет удалён в ближайшее время, используйте PdfSecurity.
  • Class Signature: будет удалён в ближайшее время, используйте PdfSecurity.
  • Class Timestamp: будет удалён в ближайшее время, используйте PdfSecurity.
  • Class DecryptionOptions: переименован в Class DecryptOptions.
  • Class EncryptionOptions: переименован в Class EncryptOptions.
  • Class SignOptions: теперь содержит свойства для Class Timestamp.
  • Смотрите The New Plugin Architecture.

Пример использования:

Пример демонстрирует, как зашифровать PDF‑документ.

// Create EncryptOptions object to set instructions
var options = new EncryptOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Encrypt(options);

Пример использования:

Пример демонстрирует, как расшифровать PDF‑документ.

// Create DecryptOptions object to set instructions
var options = new DecryptOptions("123456");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Decrypt(options);

Пример использования:

Пример демонстрирует, как подписать PDF‑документ.

// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);

Пример использования:

Пример демонстрирует, как подписать PDF‑документ с отметкой времени.

// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfSecurity.Sign(options);

Плагин PdfChatGpt интегрирован в PdfManager

  • Class PdfChatGpt: будет удалён в ближайшее время, используйте PdfManager.
  • Class PdfChatGptRequestOptions: переименован в Class ChatGptRequestOptions.

Новые параметры для работы с ChatGpt

  • Class ChatCompletion: позволяет проверять результаты запроса.
  • Class Choice: позволяет проверять результаты запроса.
  • Class Usage: позволяет проверять результаты запроса.
  • Class ChatGptConsts: позволяет использовать дополнительные настройки, такие как ModelName, API URL и др.

Пример использования:

Пример демонстрирует, как использовать ChatGpt, добавляя сообщения к запросу.

var options = new ChatGptRequestOptions();
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf")); 
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.

// Add the request messages.
options.Messages.Add(new Message
{
    Content = "You are a helpful assistant.",
    Role = Role.System
});
options.Messages.Add(new Message
{
    Content = "What is the biggest pizza diameter ever made?",
    Role = Role.User
});

// Process the request.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);

var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // The ChatGPT API chat completion object.

Улучшения

  • PDF to Image – улучшена производительность конвертации.
  • PDF to TIFF – ускорена скорость конвертации.
  • PDF to Doc – повышена производительность.

Исправленные баги

  • Исправлен HTML to PDF – проблемы с форматированием в получаемом файле.
  • Исправлена проблема производительности при конвертации PDF в TIFF.
  • Исправлен HTML to PDF – CSS‑файл как внешний ресурс не применялся к сгенерированному PDF‑файлу.
7 сент. 2026 г.

v25.10

Новый плагин PDF Extractor

  • Class PdfExtractor: содержит все функции плагинов: TextExtractor, ImageExtractor, FormExporter.
  • Class TextExtractor: будет удалён в ближайшее время, используйте PdfExtractor.
  • Class ImageExtractor: будет удалён в ближайшее время, используйте PdfExtractor.
  • Class FormExporter: будет удалён в ближайшее время, используйте PdfExtractor.
  • Class TextExtractorOptions: переименован в Class ExtractTextOptions.
  • Class ImageExtractorOptions: переименован в Class ExtractImagesOptions.
  • Class FormExportToDsvOptions: переименован в Class ExtractFormDataToDsvOptions.
  • Смотрите The New Plugin Architecture.

Пример использования:

Пример демонстрирует, как извлечь текстовое содержимое PDF‑документа.

// Create ExtractTextOptions object to set instructions
var options = new ExtractTextOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.ExtractText(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();

Пример использования:

Пример демонстрирует, как извлечь текстовое содержимое PDF‑документа с указанием TextFormattingMode.

// Create ExtractTextOptions object to set TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Perform the process
var results = PdfExtractor.ExtractText(options);
// Get the extracted text from the ResultContainer object
var textExtracted = results.ResultCollection[0].ToString();

Пример использования:

Пример демонстрирует, как извлечь изображения из PDF‑документа.

// Create ExtractImagesOptions to set instructions
var options = new ExtractImagesOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Perform the process
var results = PdfExtractor.ExtractImages(options);
// Get path to image result
var imageExtracted = results.ResultCollection[0].ToFile();

Пример использования:

Пример демонстрирует, как экспортировать значения формы в CSV‑файл.

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
PdfExtractor.ExtractFormData(options);

Новый плагин PDF Manager

  • Class PdfManager: содержит все функции плагинов: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
  • Class Merger: будет удалён в ближайшее время.
  • Class Optimizer: будет удалён в ближайшее время, используйте PdfManager.
  • Class Splitter: будет удалён в ближайшее время, используйте PdfManager.
  • Class TableGenerator: будет удалён в ближайшее время, используйте PdfManager.
  • Class TocGenerator: будет удалён в ближайшее время, используйте PdfManager.
  • Смотрите The New Plugin Architecture.

Пример использования:

Пример демонстрирует, как объединить два PDF‑документа.

// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Merge(options);

Пример использования:

Пример демонстрирует, как разделить PDF‑документ.

// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Perform the process
PdfManager.Split(options);

Пример использования:

Пример демонстрирует, как оптимизировать PDF‑документ.

// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Optimize(options);

Пример использования:

Пример демонстрирует, как повернуть PDF‑документ.

// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Rotate(options);

Пример использования:

Пример демонстрирует, как изменить размер PDF‑документа.

// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Resize(options);

Пример использования:

Пример демонстрирует, как сжать PDF‑документ.

// Create CompressOptions object to set instructions
var options = new CompressOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Compress(options);

Пример использования:

Пример демонстрирует, как добавить таблицу в PDF‑файл.

// Configure table options
var options = new TableOptions();
options.InsertPageBefore(1)
   .AddTable()
        .AddRow()
            .AddCell().AddParagraph("Name")
            .AddCell().AddParagraph("Age")
        .AddRow()
            .AddCell().AddParagraph("Bob")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Sam")
            .AddCell().AddParagraph("20")
        .AddRow()
            .AddCell().AddParagraph("Sandy")
            .AddCell().AddParagraph("26")
        .AddRow()
            .AddCell().AddParagraph("Tom")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Jim")
            .AddCell().AddParagraph("27");
// Add input file path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Perform the process
PdfManager.AddTable(options);

Пример использования:

Пример демонстрирует, как добавить оглавление в PDF‑файл.

// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2));
options.Headings.Add(new TocHeading("Chapter I", 3));
options.Headings.Add(new TocHeading("Chapter II", 4));
options.Headings.Add(new TocHeading("Chapter III", 5));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);

Пример использования:

Пример демонстрирует, как добавить оглавление в PDF‑файл с генерацией закладок.

// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);

Пример использования:

Пример демонстрирует, как добавить оглавление в PDF‑файл и сохранить его в поток.

// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output stream 
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);

Улучшена удобство использования TableGenerator

  • Class TableGenerator: статический, конструктор не требуется.
  • Class TableGenerator: помечен как Obsolete. Используйте PdfManager.

Улучшена удобство использования PdfChatGpt

  • Class PdfChatGpt: статический, конструктор не требуется.
  • Class PdfChatGptRequestOptions: добавлено свойство CancellationToken (перемещено из PdfChatGpt).

Пример использования:

Пример демонстрирует, как использовать плагин PdfChatGpt, добавляя сообщения к запросу.

var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Add the output file path.
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// for cancel
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;

// Add the request messages.
options.Messages.Add(new Message
{
    Content = "You are a helpful assistant.",
    Role = Role.System
});
options.Messages.Add(new Message
{
    Content = "What is the biggest pizza diameter ever made?",
    Role = Role.User
});

// Process the request.
await PdfChatGpt.ProcessAsync(options);

Исправленные ошибки

  • Исправлена мета‑информация при конвертации HTML в PDF.
  • Исправлены проблемы с форматированием текста и масштабированием изображений при конвертации PDF в PDF/A_3b.
  • Исправлена ошибка печати в результирующем PDF/A после конвертации PDF в PDF/A.
  • Исправлена проблема с фоновым изображением в результирующем HTML при конвертации PDF в HTML.
  • Исправлены отображения некоторых китайских символов в виде квадратов при конвертации HTML в PDF.
  • Исправлена поддержка шрифтов Base64 в пользовательском шрифте при конвертации HTML в PDF.
  • Исправлено применение CSS‑стилей к полям формы при конвертации HTML в PDF.
  • Исправлена отрисовка диаграмм при конвертации HTML в PDF.
  • Исправлена отрисовка специальных символов при конвертации HTML в PDF.
7 сент. 2026 г.

v25.9

Улучшена удобность использования DocConverter и добавлен дополнительный режим

  • Class DocConverter: является статическим и не требует использования конструктора.
  • Class PdfToDocOptions: добавлено свойство Mode, позволяющее настраивать процесс конвертации.
  • Enum DocConversionMode: позволяет задавать режим конвертации PDF‑DOC. Значения:
    • TextBox: быстрый режим, хорошо сохраняет оригинальный внешний вид PDF‑файла, но редактируемость полученного документа может быть ограничена. Каждый визуально сгруппированный блок текста в оригинальном PDF‑файле преобразуется в текстовое поле в результирующем документе.
    • Flow: режим полной распознавания, движок выполняет группировку и многоуровневый анализ, чтобы восстановить намерения автора оригинального документа и создать максимально редактируемый документ.

Пример использования:

// The example demonstrates how to convert PDF document to Doc format.
// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Perform the process
DocConverter.Process(options);

Пример использования:

// The example demonstrates how to convert PDF document to Doc format with setting Mode.
// Create PdfToDocOptions object to set instructions
var options = new PdfToDocOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Set Mode
options.Mode = DocConversionMode.Flow;
// Perform the process
DocConverter.Process(options);

Улучшена удобность использования PdfAConverter

Class PdfAConverter: является статическим и не требует использования конструктора.

Пример использования:

// The example demonstrates how to convert the PDF document in a PDF/A format (PDF/A-3b in this case):
// Create the options class to set up the conversion process
var options = new PdfAConvertOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_3B
};

// Add the source file
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // replace with your actual file path

// Add the path to save the converted file
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));

// Run the conversion
PdfAConverter.Process(options);

Пример использования:

// The example demonstrates how to validate the PDF document conformance to PDF/A format (PDF/A-1a in this case):
// Create the options class to set up the validation process
var options = new PdfAValidateOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_1A
};

// Add one or more files to be validated
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // replace with your actual file path
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// add more files as needed

// Run the validation and get results
var resultContainer = PdfAConverter.Process(options);

// Check the resultContainer.ResultCollection property for validation results for each file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
    var result = resultContainer.ResultCollection[i];
    var validationResult = (PdfAValidationResult) result.Data;
    var isValid = validationResult.IsValid; // Validation result for the i-th document
}

Улучшена удобность использования Timestamp

Class Timestamp: является статическим и не требует использования конструктора.

Пример использования:

// The example demonstrates how to add Timestamp to the document.
// Create AddTimestampOptions object to set instructions
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Timestamp.Process(options);

Обновлена документация

Обновлены примеры, добавлены дополнительные примеры:

  • Информация о лицензии и оценке
  • Страницы продукта
  • Генератор таблиц PDF
  • Генератор оглавления PDF
  • Добавление таймстампа в PDF
  • Конвертер PDF/A
  • Извлечение изображений из PDF
  • Извлечение текста из PDF
  • Конвертер PDF в XLS
  • Конвертер PDF в HTML

Исправленные ошибки

  • Исправлены проблемы с HTML → PDF
  • Исправлены проблемы с PDF → PDF/A-2B
  • Улучшено преобразование PDF → JPEG: некоторые символы текста отображались квадратом
  • Исправлен рендер PDF → TIFF
  • Исправлены неожиданные исключения при конвертации PDF → JPEG
7 сент. 2026 г.

v25.8

Улучшена удобность использования JpegConverter

Class JpegConverter: статический и не требует использования конструктора.

Пример использования:

// The example demonstrates how to convert PDF document into JPEG format.
// Create PdfToJpegOptions object to set instructions
var options = new PdfToJpegOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
JpegConverter.Process(options);

Улучшена удобность использования PngConverter

Class PngConverter: статический и не требует использования конструктора.

Пример использования:

// The example demonstrates how to convert PDF document into PNG format.
// Create PdfToPngOptions object to set instructions
var options = new PdfToPngOptions();
// Add input File path
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
PngConverter.Process(options);

Улучшена удобность использования XlsConverter

  • Class XlsConverter: статический и не требует использования конструктора.
  • Class XlsConverter: исправлено описание.

Пример использования:

// The example demonstrates how to convert PDF to XLSX document.
// Create PdfToXlsOptions object to set instructions
var options = new PdfToXlsOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Perform the process
XlsConverter.Process(options);

Улучшена удобность использования Signature

  • Class Signature: статический и не требует использования конструктора.
  • Class Signature: исправлено описание.
  • Class Signature: интерфейс IPlugin удалён.

Пример использования:

// The example demonstrates how to sign PDF document.
// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Signature.Process(options);

Изменены конструкторы PdfToHtmlOptions

Конструкторы и аргументы оптимизированы.

Изменён признак оценки TextExtractor

Текст признака оценки изменён.

Обновлена документация

Обновлены примеры, добавлены дополнительные примеры:

  • PDF to JPEG Converter
  • PDF to PNG Converter
  • PDF to TIFF Converter
  • PDF Form Flattener
  • HTML Converter
  • PDF Security
  • PDF Optimizer
  • PDF Merger
  • PDF Splitter

Исправлены ошибки

  • Исправлены проблемы с аннотациями
  • Исправлены проблемы после изменения размера
  • Исправлена трансформация имён шрифтов при конвертации PDF в PDF/A
  • Исправлена конвертация PDF в DOCX — пробел добавлялся в заголовке и другие проблемы
  • Исправлена конвертация HTML в PDF — прозрачный фон PNG
  • Исправлена работа с сжатыми PDF — улучшена совместимость с Adobe Acrobat
7 сент. 2026 г.

v25.7

Улучшенная удобность Text Extractor

  • Class TextExtractor: является статическим и не требует использования конструктора.
  • Class TextExtractor: улучшено поведение в режиме оценки. Исключения не возникает при обработке документов более 4 страниц.
  • Class TextExtractor: исправлены проблемы в методе Process.
  • Class PdfExtractorOptions: удалён.
  • Class TextExtractorOptions: рефакторинг.
  • Enum TextFormattingMode: переименован и улучшен.

Пример использования:

// Пример показывает, как извлечь текстовое содержимое PDF‑документа.
// Создаём объект TextExtractorOptions для установки параметров
var options = new TextExtractorOptions(TextFormattingMode.Pure);
// Добавляем путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Выполняем процесс
var results = TextExtractor.Process(options);
// Получаем извлечённый текст из объекта ResultContainer
var textExtracted = results.ResultCollection[0].ToString();

Улучшенная удобность Html Converter

  • Class HtmlConverter: является статическим и не требует использования конструктора.
  • Class HtmlConverter: исправлены проблемы в методе Process.
  • Class HtmlConverter: удалена логика IDisposable.
  • Class PdfConverterOptions: удалён.

Примеры использования:

// Пример показывает, как конвертировать PDF в HTML.
// Создаём объект PdfToHtmlOptions, задавая тип сохраняемых данных как файл с встроенными ресурсами
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// Добавляем путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Указываем путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_output.html"));
// Выполняем процесс
HtmlConverter.Process(options);

// Пример показывает, как конвертировать HTML в PDF.
// Создаём объект HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Добавляем путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.html"));
// Указываем путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Выполняем процесс
HtmlConverter.Process(options);

Улучшенная удобность Image Extractor

  • Class ImageExtractor: является статическим и не требует использования конструктора.

Пример использования:

// Пример показывает, как извлекать изображения из PDF‑документа.
// Создаём объект ImageExtractorOptions для установки параметров
var options = new ImageExtractorOptions();
// Добавляем путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Задаём путь к директории вывода
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Выполняем процесс
var results = ImageExtractor.Process(options);
// Получаем путь к извлечённому изображению
var imageExtracted = results.ResultCollection[0].ToFile();

Небольшие исправления

  • Внутренние исправления.
  • Исправлены примеры и подсказки Tiff Converter.
  • Сокращена длительность оптимизации страниц.
  • Исправлено: неверный вывод изображения при конвертации PDF в PNG.
  • Исправлено: некорректное отображение китайских символов при конвертации PDF в PNG.
  • Улучшена производительность при конвертации PDF в HTML.
7 сент. 2026 г.

v25.6

Улучшенная удобство использования Tiff Converter

  • Class PdfToTiffOptions: Добавлен дополнительный параметр для конвертации — Compression.
  • Class PdfToTiffOptions: Добавлен дополнительный параметр для конвертации — ColorDepth.
  • Class TiffConverter стал статическим и не требует использования конструктора.
  • Улучшены основные примеры.

Примеры использования:

// The example demonstrates how to convert PDF document into TIFF format.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Perform the process
TiffConverter.Process(options);

// The example demonstrates how to convert PDF document into TIFF format with additional parameters.
// Create PdfToTiffOptions object to set instructions
var options = new PdfToTiffOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output Directory path
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Optional parameters
options.PageList = new List<int> { 1, 3 };
options.MultiPage = true;
options.OutputResolution = 400;
options.Compression = TiffCompression.RLE;
options.ColorDepth = TiffColorDepth.Format24bpp;
// Perform the process
TiffConverter.Process(options);

Незначительные исправления

  • Внутренние исправления.
7 сент. 2026 г.

v25.5

Добавлен новый плагин: Form Exporter

  • Class FormExporter: Представляет плагин Documentize.FormExporter, который используется для экспорта значений форм PDF‑документов в файл DSV или CSV
  • Class FormExportToDsvOptions: Представляет параметры экспорта значений PDF‑документов в файл DSV или CSV с помощью плагина Documentize.FormExporter.

Пример использования:

// The example demonstrates how to Export Form values to CSV file.
// Create FormExportToDsvOptions object to set instructions
var options = new FormExportToDsvOptions(',', true);
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Perform the process
FormExporter.Process(options);

Улучшена удобство использования Security

  • Класс статический и не требует использования конструктора.
  • Улучшены основные примеры.

Примеры использования:

// The example demonstrates how to encrypt PDF document.
// Create EncryptionOptions object to set instructions
var options = new EncryptionOptions("123456", "qwerty");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Security.Process(options);

// The example demonstrates how to decrypt PDF document.
// Create DecryptionOptions object to set instructions
var options = new DecryptionOptions("123456");
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Security.Process(options);

Незначительные исправления

  • Улучшены подсказки классов и лицензии.
7 сент. 2026 г.

v25.4

Улучшенная удобность Optimizer

  • Класс статический и не требует использования конструктора.
  • Улучшен основной пример.
  • Добавлены дополнительные примеры.

Примеры использования:

// The example demonstrates how to Optimize PDF document.
// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);

// The example demonstrates how to Rotate PDF document.
// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);

// The example demonstrates how to Resize PDF document.
// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);

// The example demonstrates how to Compress PDF document.
// Create CompressOptions object to set instructions
var options = new CompressOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Optimizer.Process(options);

Улучшенная удобность Plugin Splitter

  • Класс статический и не требует использования конструктора.
  • Улучшен основной пример.

Примеры использования:

// The example demonstrates how to Split PDF document.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Perform the process
Splitter.Process(options);

Улучшенная удобность Plugin Merger

  • Класс статический и не требует использования конструктора.
  • Улучшен основной пример.

Примеры использования:

// The example demonstrates how to Merge two PDF documents.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
Merger.Process(options);

Небольшие исправления

  • Улучшены подсказки классов.
7 сент. 2026 г.

v25.3

Добавлен новый плагин: Form Flattener

  • Class FormFlattener: Представляет плагин Documentize.FormFlattener, который используется для уплощения полей в PDF‑документах.
  • Class FormFlattenerOptions: Представляет параметры для уплощения полей в документе плагином Documentize.FormFlattener.

Пример использования:

// The example demonstrates how to Flatten fields in PDF file.
// Create FormFlattenerOptions object to set instructions
var options = new FormFlattenerOptions();
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Optional parameter for skip the field with name "Surname".
options.SkipFields.Add("Surname");
// Perform the process
FormFlattener.Process(options);

// The example demonstrates how to Get Field Names from PDF file.
var fieldNames = FormFlattener.GetFieldNames("path_to_your_pdf_file.pdf");

Небольшие исправления

  • Улучшены подсказки классов и примеры.
7 сент. 2026 г.

v25.2

Добавлен новый плагин: TOC Generator

  • Class TocGenerator: Представляет плагин Documentize.TocGenerator. Используется для добавления оглавления в PDF‑документы.
  • Class TocOptions: Представляет параметры для добавления оглавления в документ с помощью плагина Documentize.TocGenerator.
  • Class TocHeading: Представляет параметры для заголовков или названий оглавления в документе с помощью плагина Documentize.TocGenerator.

Пример использования:

// The example demonstrates how to add Table of Contents to PDF file.
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// Add input file path
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Perform the process
TocGenerator.Process(options);

Незначительные исправления

  • Улучшены подсказки по классам и примеры.
  • Обновлены водяные знаки.
  • Улучшено преобразование PDF в XSLX.
  • Улучшено преобразование PDF в PDF/A-1a.
7 сент. 2026 г.

v25.1

Улучшенный плагин: ImageExtractor

  • Добавлена коллекция вывода в ImageExtractorOptions.
  • Добавлена поддержка нескольких входов в ImageExtractorOptions.
  • Исправлены закрытые потоки вывода.

Пример использования:

// create ImageExtractor object to extract images
var plugin = new ImageExtractor();
// create ImageExtractorOptions
var opt = new ImageExtractorOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output directory
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform extraction process
var resultContainer = plugin.Process(opt);
// get the image from the ResultContainer object
var imageExtracted = resultContainer.ResultCollection[0].ToFile();

Небольшие исправления

  • Улучшены подсказки классов и примеры.
  • Проверка подписи PDF.
  • Улучшена поддержка китайских символов.
7 сент. 2026 г.

v24.12

Добавлен новый плагин: PDF в PNG Converter

  • Class PngConverter: Представляет плагин Documentize.PngConverter. Используется для конвертации PDF‑документов в формат PNG.
  • Class PdfToPngOptions: Представляет параметры конвертации PDF в PNG для плагина Documentize.PngConverter.

Пример использования:

// create PngConverter
var plugin = new PngConverter();
// create PdfToPngOptions object to set instructions
var opt = new PdfToPngOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);

Добавлен новый плагин: PDF в TIFF Converter

  • Class TiffConverter: Представляет плагин Documentize.TiffConverter. Используется для конвертации PDF‑документов в формат TIFF.
  • Class PdfToTiffOptions: Представляет параметры конвертации PDF в TIFF для плагина Documentize.TiffConverter.

Пример использования:

// create TiffConverter
var plugin = new TiffConverter();
// create PdfToTiffOptions object to set instructions
var opt = new PdfToTiffOptions();
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// perform the process
plugin.Process(opt);

Добавлен новый плагин: PDF Table Generator

  • Class TableGenerator: Представляет плагин Documentize.TableGenerator. Используется для добавления таблицы в PDF‑документ.
  • Class TableBuilder: Класс‑строитель таблицы на странице PDF.
  • Class TableRowBuilder: Класс‑строитель строки таблицы.
  • Class TableRowBuilder: Класс‑строитель ячейки таблицы.

Пример использования:

// create TableGenerator
var plugin = new TableGenerator();
// create TableOptions object to set instructions
TableOptions opt = new TableOptions().InsertPageBefore(1)
   .AddTable()
        .AddRow()
            .AddCell().AddParagraph("Name")
            .AddCell().AddParagraph("Age")
        .AddRow()
            .AddCell().AddParagraph("Bob")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Sam")
            .AddCell().AddParagraph("20")
        .AddRow()
            .AddCell().AddParagraph("Sandy")
            .AddCell().AddParagraph("26")
        .AddRow()
            .AddCell().AddParagraph("Tom")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Jim")
            .AddCell().AddParagraph("27");
// add input file path
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// set output file path
opt.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// perform the process
plugin.Process(opt);

Переименован класс PdfDoc в DocConverter

  • Class DocConverter: Представляет плагин Documentize.DocConverter. Используется для конвертации PDF‑документов в форматы DOC/DOCX.

Пример использования:

// create DocConverter
var plugin = new DocConverter();
// create PdfToDocOptions object to set instructions
var opt = new PdfToDocOptions();
// add input file path
opt.AddInput(new FileDataSource(inputPath));
// set output file path
opt.AddOutput(new FileDataSource(outputPath));
// perform the process
plugin.Process(opt);
7 сент. 2026 г.

v24.11

Добавлен новый плагин: Конвертер PDF в JPEG

  • Назначение: Класс JpegConverter предназначен для преобразования PDF‑документов в формат JPEG, упрощая обработку и обмен изображениями, полученными из PDF.
  • Конструктор:
    • JpegConverter(): Инициализирует новый экземпляр JPEG‑конвертера.

Пример использования:

var plugin = new JpegConverter();
var opt = new PdfToJpegOptions();
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
plugin.Process(opt);
  • Метод:
    • Process(PdfToJpegOptions options): Запускает процесс конвертации в JPEG с использованием указанных параметров.

Добавлен класс DirectoryDataSource

  • Назначение: Класс DirectoryDataSource позволяет пользователям управлять данными каталогов для операций загрузки и сохранения внутри плагинов.
  • Конструктор:
    • DirectoryDataSource(string path): Инициализирует новый объект данных каталога с указанным путём.

Пример использования:

var directorySource = new DirectoryDataSource("path_to_your_directory");
  • Свойства:
    • DataType: Возвращает тип источника данных.
    • Path: Получает путь текущего каталога данных.

Добавлен класс PdfToJpegOptions

  • Назначение: Этот класс содержит параметры для настройки процесса конвертации в JPEG, позволяя пользователям указывать разрешение, список страниц и качество изображения.
  • Конструктор:
    • PdfToJpegOptions(): Инициализирует новый набор параметров для JPEG‑конвертера.

Свойства:

  • OutputResolution: Задает разрешение результирующих JPEG‑изображений.
  • PageList: Список страниц PDF, которые нужно конвертировать.
  • Quality: Устанавливает качество выходного JPEG.
7 сент. 2026 г.

v24.10

Добавлен новый плагин: PDF/A Converter

  • Добавлена функция конвертации PDF/A, позволяющая пользователям легко преобразовывать стандартные PDF‑файлы в документы, соответствующие требованиям PDF/A.

Пример использования:

var options = new PdfAConvertOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_3B
};

options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));

var plugin = new PdfAConverter();
plugin.Process(options);

Исправления ошибок

  • Исправлены проблемы, связанные с классом FileResult, которые приводили к неверным путям вывода.
  • Устранены мелкие баги, влияющие на HtmlConverter при обработке больших файлов.

Улучшения

  • Повышена производительность PdfExtractor и ImageExtractor для более быстрого выполнения.
  • Обновлен класс RotateOptions для поддержки дополнительных углов поворота.
7 сент. 2026 г.

v24.9

Выпущено

 Русский