Подразделы Что нового
v26.9
- Предыдущая реализация плагинов постепенно выводится из эксплуатации. Функциональность этого класса заменена классом 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
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 Pfxstring PfxPasswordIData InputIData 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);
- Предыдущие реализации плагинов постепенно выводятся из эксплуатации. Функциональность этого класса заменена классами 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. - Исправлено бросание исключения при объединении документов.
v26.7
- Предыдущая реализация плагинов постепенно выводится из эксплуатации. Функциональность этого класса заменена классом 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 нарушала форматирование содержимого
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 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.
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"));
- Представляет базовые параметры для операций с одним входным и одним выходным набором данных.
- 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 документа
v26.4
- Метод 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 шрифтов
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);
Опечатка в слове исправлена.
Пример использования:
В примере показано, как экспортировать значения формы в 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/
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
v26.2
- 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;
- Работа с извлечением текста и параметрами извлечения теперь проще: вы можете указать входные данные и получить результат проще, чем прежде.
- 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: некоторые китайские символы не отображаются
v26.1
- Извлечение свойств 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.
v25.12
- 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);
- 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 некоторые ссылки терялись
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‑файлу.
v25.10
- 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.
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
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
Конструкторы и аргументы оптимизированы.
Текст признака оценки изменён.
Обновлена документация
Обновлены примеры, добавлены дополнительные примеры:
- 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
v25.7
- 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);
- 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.
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);
Незначительные исправления
v25.5
- 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);
Незначительные исправления
- Улучшены подсказки классов и лицензии.
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);
Небольшие исправления
- Улучшены подсказки классов.
v25.3
- 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");
Небольшие исправления
- Улучшены подсказки классов и примеры.
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.
v25.1
- Добавлена коллекция вывода в 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.
- Улучшена поддержка китайских символов.
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);
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.
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 для поддержки дополнительных углов поворота.
v24.9
Выпущено