Выпуски

Совет

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

Внимание

Скачивая Documentize в любой форме, вы соглашаетесь с лицензионным соглашением Smallize (EULA).

Получить из NuGet

NuGet — рекомендуемый способ установки Documentize и поддержания пакета в актуальном состоянии.
Установите его одним из следующих способов. Дополнительные сведения см. в руководстве по установке через NuGet.

.NET CLI

dotnet add package Documentize

Package Manager Console

NuGet\Install-Package Documentize

PackageReference

<PackageReference Include="Documentize" Version="26.10.0" />

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

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

Download Latest v26.10 MSI

Скачать ZIP

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

Download Latest v26.10 ZIP
15 окт. 2026 г.

Подразделы Выпуски

О 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.10 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.10 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.10

  • Изменённые поля в PdfProperties
  • Добавлен пустой конструктор в GetFieldNamesOptions
  • Удалён класс Splitter
  • Удалён класс Merger
  • Другие исправления

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.10

Изменённые поля в PdfProperties

  • Поле Created имеет тип DateTime (не DateTime?). Возвращает DateTime.MinValue, если в документе нет значения.
  • Поле Modified имеет тип DateTime (не DateTime?). Возвращает DateTime.MinValue, если в документе нет значения.

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

Пример демонстрирует, как извлечь свойства (Created, Modified) из 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 created = pdfProperties.Created;
var modified = pdfProperties.Modified;

Добавлен пустой конструктор в GetFieldNamesOptions

Это может быть полезно в циклических операциях без необходимости создавать новый экземпляр.

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

var options = new GetFieldNamesOptions();
// Set input from a file
options.Input = new FileData("path_to_your_pdf_file.pdf");
// Or set input from a stream
// options.Input = new StreamData(stream);
var results = PdfForm.GetNames(options);

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

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

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

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

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

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

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

// Prepare input and output streams
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream1 = new MemoryStream();
using var outputStream2 = new MemoryStream();

// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input stream
options.AddInput(inputStream);
// Set output streams
options.AddOutput(outputStream1);
options.AddOutput(outputStream2);
// Prevent the closing of output streams
options.CloseOutputStreams = false;
// Perform the process
PdfManager.Split(options);

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

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

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

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

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

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

🖥️ HTML в PDF

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

🌐 PDF в HTML

  • Исправлена потеря текста и графических элементов при конвертации PDF в HTML
  • Исправлено отображение испорченного логотипа в нижнем колонтитуле при конвертации PDF в HTML

📄 PDF в DOC/XLS

  • Исправлена избыточная длительность конвертации PDF в DOC
  • Исправлена некорректная выдача при конвертации PDF в Excel

🖼️ PDF в PNG

  • Исправлена деформация текста на первой странице при конвертации PDF в PNG
  • Исправлено выбрасывание InvalidOperationException при конвертации PDF в PNG

🖼️ PDF в TIFF

  • Исправлена неполная конвертация всех страниц при преобразовании PDF в TIFF
  • Исправлена генерация полностью чёрных изображений при конвертации PDF в TIFF

📑 PDF в PDF/A

  • Исправлено добавление белых символов в выходной файл при конвертации PDF в PDF/A
  • Исправлено изменение цветов границ прямоугольников при конвертации PDF в PDF/A
  • Исправлен сбой проверки соответствия предполётному тесту для вывода PDF/A‑1b
  • Исправлено создание некорректного UTF‑8 BaseFont при конвертации PDF/A
  • Исправлено изменение видимого текста при конвертации PDF/A
  • Исправлено выбрасывание ArgumentOutOfRangeException при конвертации PDF/A‑2b
  • Исправлено выбрасывание NullReferenceException при конвертации PDF/A‑2b

📄 Операции с документами

  • Исправлено выбрасывание ArgumentException при попытке объединения PDF с недопустимым ключом
  • Исправлено искажение ориентации текста после “уплощения” полей
  • Исправлено некорректное извлечение текста из PDF‑документов
6 окт. 2026 г.

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

Выпущено

 Русский