Что нового

v26.9

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

v26.8

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

v26.7

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

v26.6

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

v26.5

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

v26.4

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

v26.3

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

v26.2

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

v26.1

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

v25.12

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

v25.11

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

v25.10

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

v25.9

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

v25.8

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

v25.7

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

v25.6

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

v25.5

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

v25.4

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

v25.3

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

v25.2

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

v25.1

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

v24.12

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

v24.11

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

v24.10

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

v24.9

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

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

v26.9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

📄 PDF в DOC

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

🖼️ PDF в JPEG

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

📑 PDF в PDF/A

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

v26.8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

📄 PDF to DOC

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

🌐 PDF to HTML / HTML to PDF

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

🖼️ PDF to PNG / TIFF

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

📑 PDF to PDF/A

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

📂 Other Operations

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

v26.7

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

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

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

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

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

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

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

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

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

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

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

🖥️ HTML в PDF

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

📑 PDF в PDF/A

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

⚙️ Прочее

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

v26.6

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

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

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

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

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

Удалён Class TextExtractor

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

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

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

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

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

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

📄 General / System

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

🌐 HTML → PDF

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

📑 PDF → DOC

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

📊 PDF → Excel

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

🖼️ PDF → PNG

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

🛡️ PDF → PDF/A

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

v26.5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Новый класс OptionsWithInputAndOutput

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

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

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

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

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

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

v26.4

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

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

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

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

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

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

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

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

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

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

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

v26.3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v26.2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v26.1

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

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

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

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

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

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

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

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

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

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

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

Улучшения

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

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

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

v25.12

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Улучшения

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

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

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

v25.11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Улучшения

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

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

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

v25.10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v25.9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v25.8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v25.7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v25.6

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

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

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

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

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

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

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

v25.5

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

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

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

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

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

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

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

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

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

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

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

v25.4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v25.3

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

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

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

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

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

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

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

v25.2

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

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

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

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

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

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

v25.1

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

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

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

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

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

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

v24.12

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

v24.11

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

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

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

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

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

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

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

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

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

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

Свойства:

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

v24.10

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

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

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

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

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

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

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

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

Улучшения

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

v24.9

Выпущено

 Русский