Подразделы Что нового
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: получает или задает параметр удаления всех вложенных файлов из документа.
Пример использования:
В примере показано, как выполнить Sanitize PDF‑документа.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF из потока в поток.
// Prepare input and output streams
using var inputStream = File.OpenRead("path_to_your_pdf_file.pdf");
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input and output streams
var options = new SanitizeOptions(inputStream, outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF из файла в поток.
// Prepare output stream
using var outputStream = new MemoryStream();
// Create SanitizeOptions object to set input file and output stream
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", outputStream);
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF из файла в поток с ручной настройкой свойств Input и Output.
// Create SanitizeOptions object
var options = new SanitizeOptions();
//Set Input file
options.Input = new FileData("path_to_your_pdf_file.pdf");
//Set Output file
options.Output = new FileData("path_to_result_pdf_file.pdf");
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF без удаления метаданных.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveMetadata = false;
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF без удаления вложений.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveAttachments = false;
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF с конвертацией всех страниц в изображения и указанием DPI результата.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
// Turn on conversion and set dpi
options.ConvertPagesToImages = true;
options.ImageDpi = 200;
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF без удаления JavaScript и действий.
// Create SanitizeOptions object to set input and output files
var options = new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf");
options.RemoveJavaScriptsAndActions = false;
// Perform the process
PdfSecurity.Sanitize(options);
Пример использования:
В примере показано, как выполнить Sanitize PDF‑файл в максимально кратком виде.
PdfSecurity.Sanitize(new SanitizeOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf"));
- Представляет базовые параметры для операций с 1 входными данными и 1 выходными данными.
- 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 в PDF/A
- Исправлен отказ результата от соответствия PDF/A_2a при преобразовании PDF в PDF/A
- Исправлен отказ результата от соответствия при преобразовании PDF в PDF/A
- Исправлено черное отображение подписи после преобразования PDF в PDF/A
- Исправлено неожиданное изменение выравнивания текста при преобразовании PDF в PDF/A
- Исправлена чрезмерно длительная конверсия PDF в PNG
- Исправлен неправильный вывод изображения при преобразовании PDF в PNG
- Исправлена темная полоса на выводе изображения при преобразовании PDF в PNG
- Исправлена невозможность проверки соответствия PDF/A_1b документа
v26.4
- Method PdfExtractor.Extract: не бросает исключение, если даты Created и Modified не найдены во входном документе.
- Property PdfProperties.Created: возвращает null, если значение не найдено во входном документе. Тип данных изменён с “DateTime” на “DateTime?”.
- Property 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 – подсказка отображается некорректно
- Исправлен 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
- Исправлена ошибка, при которой генерация оглавления давала неправильные результаты
- Исправлена ошибка, при которой свойство OptimizeResources UnembedFonts вызывало исключение
- Исправлена ошибка, при которой PDF to HTML не корректно применял шрифты при просмотре в Internet Explorer
- Исправлена ошибка, при которой PDF to HTML генерировал смещённые элементы и символы форматирования
- Исправлена ошибка, при которой процесс конвертации PDF в PDF/A зависал
- Исправлена ошибка, при которой PDF в PDF/A удалял поля форм и их значения
- Исправлена ошибка, при которой вывод PDF в PDF/A не соответствовал стандарту PDF/A_1a
- Исправлена ошибка, при которой вывод PDF в PDF/A не соответствовал стандарту PDF/A_2b
- Исправлена ошибка, при которой вывод PDF в PDF/A‑3A не проходил проверку Preflight на соответствие
- Исправлена ошибка, при которой вывод PDF в 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‑output
- 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: используется для параметров с единственными входными данными.
- Full Free functional.
Пример использования:
Пример демонстрирует, как извлечь свойства (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‑to‑PDF добавлена поддержка альтернативного текста для изображений.
- PDF‑to‑PDFA1b соответствует требованиям совместимости.
Исправленные ошибки
- Ошибка при попытке оптимизировать PDF‑файл.
- Проблема вертикального выравнивания полей формы.
- Исправлена проблема отображения японского текста в FormField.
- Ошибка форматирования таблиц в HTML‑to‑PDF.
- Оптимизация размера PDF перед конвертацией в PDF/A приводит к повреждённому результату.
- Таблицы в PDF‑to‑DOC отображаются некорректно.
- Проблемы с форматированием выходного файла при конвертации PDF‑to‑Excel.
ArgumentException при конвертации PDF‑to‑HTML.- При конвертации PDF‑to‑HTML некоторые ссылки отсутствуют.
- Потеря текста при конвертации PDF в HTML.
v25.12
- Class PdfForm: содержит все функции плагинов: FormFlattener, FormExporter. Также позволяет удалять и получать поля.
- Class FormFlattener: будет удалён в ближайшее время, используйте PdfForm.
- Class FormFlattenerOptions: переименован в Class FlattenFieldsOptions.
- Class GetFieldNamesOptions: позволяет задавать параметры для получения имён полей.
- Class RemoveFieldsOptions: позволяет задавать параметры для удаления полей.
- Смотрите The New Plugin Architecture.
Example Usage:
Пример демонстрирует, как выполнить Flatten полей в 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);
Example Usage:
Пример демонстрирует, как получить имена полей из PDF‑файла.
var fieldNames = PdfForm.GetNames(new GetFieldNamesOptions("path_to_your_pdf_file.pdf"));
Example Usage:
Пример демонстрирует, как экспортировать значения формы в 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);
Example Usage:
Пример демонстрирует, как удалить поля из 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.
Example Usage:
Пример демонстрирует, как извлечь текстовое содержимое 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();
Example Usage:
Пример демонстрирует, как извлечь изображения из 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();
Example Usage:
Пример демонстрирует, как экспортировать значения формы в 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
- Класс PdfConverter: содержит все функции плагинов: DocConverter, XlsConverter, HtmlConverter, JpegConverter, PdfAConverter, PngConverter, TiffConverter.
- Класс DocConverter: будет удален скоро, используйте PdfConverter.
- Класс XlsConverter: будет удален скоро, используйте PdfConverter.
- Класс HtmlConverter: будет удален скоро, используйте PdfConverter.
- Класс JpegConverter: будет удален скоро, используйте PdfConverter.
- Класс PdfAConverter: будет удален скоро, используйте PdfConverter.
- Класс PngConverter: будет удален скоро, используйте PdfConverter.
- Класс TiffConverter: будет удален скоро, используйте PdfConverter.
- Класс PdfAConvertOptions: переименован в Класс PdfToPdfAOptions.
- Смотрите Новую архитектуру плагинов.
Пример использования:
Пример демонстрирует, как конвертировать PDF-документ в формат Doc.
// Создайте объект PdfToDocOptions для установки инструкций
var options = new PdfToDocOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Выполните процесс
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как конвертировать PDF в документ XLSX.
// Создайте объект PdfToXlsOptions для установки инструкций
var options = new PdfToXlsOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Выполните процесс
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как конвертировать 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"));
// Выполните процесс
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как конвертировать HTML в PDF-документ.
// Создайте HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.html"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Выполните процесс
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как конвертировать PDF-документ в формат JPEG.
// Создайте объект PdfToJpegOptions для установки инструкций
var options = new PdfToJpegOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Установите путь к директории для выхода
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Выполните процесс
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как конвертировать PDF-документ в формат PNG.
// Создайте объект PdfToPngOptions для установки инструкций
var options = new PdfToPngOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Установите путь к директории для выхода
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Выполните процесс
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как конвертировать PDF-документ в формат TIFF.
// Создайте объект PdfToTiffOptions для установки инструкций
var options = new PdfToTiffOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к директории для выхода
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Выполните процесс
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как конвертировать PDF-документ в формат PDF/A (в данном случае PDF/A-3b):
// Создайте класс опций для настройки процесса конвертации
var options = new PdfToPdfAOptions
{
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"));
// Запустите конвертацию
PdfConverter.Convert(options);
Пример использования:
Пример демонстрирует, как проверить соответствие PDF-документа формату PDF/A (в данном случае PDF/A-1a):
// Создайте класс опций для настройки процесса валидacji
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Добавьте один или несколько файлов для проверки
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // замените на ваш фактический путь к файлу
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// добавьте больше файлов по мере необходимости
// Запустите валидацию и получите результаты
var resultContainer = PdfConverter.Validate(options);
// Проверьте свойство resultContainer.ResultCollection для получения результатов валидации для каждого файла:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Результат валидации для i-го документа
}
Новый плагин PDF Security
- Класс PdfSecurity: содержит все функции плагинов: Security, Signature, Timestamp.
- Класс Security: будет удален скоро, используйте PdfSecurity.
- Класс Signature: будет удален скоро, используйте PdfSecurity.
- Класс Timestamp: будет удален скоро, используйте PdfSecurity.
- Класс DecryptionOptions: переименован в Класс DecryptOptions.
- Класс EncryptionOptions: переименован в Класс EncryptOptions.
- Класс SignOptions: теперь имеет свойства для Класса Timestamp.
- Смотрите Новую архитектуру плагинов.
Пример использования:
Пример демонстрирует, как зашифровать PDF-документ.
// Создайте объект EncryptOptions для установки инструкций
var options = new EncryptOptions("123456", "qwerty");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfSecurity.Encrypt(options);
Пример использования:
Пример демонстрирует, как расшифровать PDF-документ.
// Создайте объект DecryptOptions для установки инструкций
var options = new DecryptOptions("123456");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfSecurity.Decrypt(options);
Пример использования:
Пример демонстрирует, как подписать PDF-документ.
// Создайте объект SignOptions для установки инструкций
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfSecurity.Sign(options);
Пример использования:
Пример демонстрирует, как подписать PDF-документ с временной меткой.
// Создайте объект SignOptions для установки инструкций
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfSecurity.Sign(options);
Плагин PdfChatGpt интегрирован в PdfManager
- Класс PdfChatGpt: будет удален скоро, используйте PdfManager.
- Класс PdfChatGptRequestOptions: переименован в Класс ChatGptRequestOptions.
Новые опции доступны для работы с ChatGpt
- Класс ChatCompletion: позволяет проверять результаты запроса.
- Класс Choice: позволяет проверять результаты запроса.
- Класс Usage: позволяет проверять результаты запроса.
- Класс ChatGptConsts: позволяет использовать дополнительные настройки, такие как ModelName, API URL и другие.
Пример использования:
Пример демонстрирует, как использовать ChatGpt, добавляя сообщения в запрос.
var options = new ChatGptRequestOptions();
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
options.ApiKey = "Ваш API ключ."; // Вам необходимо указать ключ для доступа к API.
options.MaxTokens = 1000; // Максимальное количество токенов для генерации в завершении чата.
// Добавьте сообщения запроса.
options.Messages.Add(new Message
{
Content = "Вы полезный помощник.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "Какой самый большой диаметр пиццы когда-либо сделанной?",
Role = Role.User
});
// Обработайте запрос.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // Объект завершения чата API ChatGPT.
Улучшения
- PDF в изображение - Улучшенная производительность конверсии
- PDF в TIFF - Улучшенная скорость конверсии
- PDF в Doc - Улучшенная производительность
Исправленные ошибки
- Исправлены вопросы форматирования в результирующем файле при конвертации HTML в PDF
- Исправлена проблема производительности в конверсии PDF в TIFF
- Исправлены проблемы применения CSS файла как внешнего ресурса к созданному PDF-файлу
v25.10
- Класс PdfExtractor: содержит все функции плагинов: TextExtractor, ImageExtractor, FormExporter.
- Класс TextExtractor: будет удален скоро, используйте PdfExtractor.
- Класс ImageExtractor: будет удален скоро, используйте PdfExtractor.
- Класс FormExporter: будет удален скоро, используйте PdfExtractor.
- Класс TextExtractorOptions: переименован в Класс ExtractTextOptions.
- Класс ImageExtractorOptions: переименован в Класс ExtractImagesOptions.
- Класс FormExportToDsvOptions: переименован в Класс ExtractFormDataToDsvOptions.
- См. Новая Архитектура Плагинов.
Пример использования:
Пример демонстрирует, как извлечь текстовое содержимое PDF-документа.
// Создайте объект ExtractTextOptions, чтобы задать инструкции
var options = new ExtractTextOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Выполните процесс
var results = PdfExtractor.ExtractText(options);
// Получите извлеченный текст из объекта ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Пример использования:
Пример демонстрирует, как извлечь текстовое содержимое PDF-документа с TextFormattingMode.
// Создайте объект ExtractTextOptions, чтобы задать TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Выполните процесс
var results = PdfExtractor.ExtractText(options);
// Получите извлеченный текст из объекта ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Пример использования:
Пример демонстрирует, как извлечь изображения из PDF-документа.
// Создайте ExtractImagesOptions, чтобы задать инструкции
var options = new ExtractImagesOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному каталогу
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Выполните процесс
var results = PdfExtractor.ExtractImages(options);
// Получите путь к извлеченному изображению
var imageExtracted = results.ResultCollection[0].ToFile();
Пример использования:
Пример демонстрирует, как экспортировать значения формы в CSV файл.
// Создайте объект ExtractFormDataToDsvOptions, чтобы задать инструкции
var options = new ExtractFormDataToDsvOptions(',', true);
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Выполните процесс
PdfExtractor.ExtractFormData(options);
Новый плагин PDF Manager
- Класс PdfManager: содержит все функции плагинов: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Класс Merger: будет удален скоро.
- Класс Optimizer: будет удален скоро, используйте PdfManager.
- Класс Splitter: будет удален скоро, используйте PdfManager.
- Класс TableGenerator: будет удален скоро, используйте PdfManager.
- Класс TocGenerator: будет удален скоро, используйте PdfManager.
- См. Новая Архитектура Плагинов.
Пример использования:
Пример демонстрирует, как объединить два PDF-документа.
// Создайте объект MergeOptions, чтобы задать инструкции
var options = new MergeOptions();
// Добавьте пути к входным файлам
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfManager.Merge(options);
Пример использования:
Пример демонстрирует, как разделить PDF-документ.
// Создайте объект SplitOptions, чтобы задать инструкции
var options = new SplitOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите пути к выходным файлам
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Выполните процесс
PdfManager.Split(options);
Пример использования:
Пример демонстрирует, как оптимизировать PDF-документ.
// Создайте объект OptimizeOptions, чтобы задать инструкции
var options = new OptimizeOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfManager.Optimize(options);
Пример использования:
Пример демонстрирует, как повернуть PDF-документ.
// Создайте объект RotateOptions, чтобы задать инструкции
var options = new RotateOptions();
// Установите новое вращение
options.Rotation = Rotation.On90;
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfManager.Rotate(options);
Пример использования:
Пример демонстрирует, как изменить размер PDF-документа.
// Создайте объект ResizeOptions, чтобы задать инструкции
var options = new ResizeOptions();
// Установите новый размер страницы
options.PageSize = PageSize.A3;
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfManager.Resize(options);
Пример использования:
Пример демонстрирует, как сжать PDF-документ.
// Создайте объект CompressOptions, чтобы задать инструкции
var options = new CompressOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfManager.Compress(options);
Пример использования:
Пример демонстрирует, как добавить таблицу в PDF файл.
// Настройте параметры таблицы
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");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Выполните процесс
PdfManager.AddTable(options);
Пример использования:
Пример демонстрирует, как добавить оглавление в PDF файл.
// Создайте объект TocOptions, чтобы задать инструкции
var options = new TocOptions();
// Установите заголовок
options.Title = "Мое Оглавление";
// Настройте заголовки
options.Headings.Add(new TocHeading("Введение", 2));
options.Headings.Add(new TocHeading("Глава I", 3));
options.Headings.Add(new TocHeading("Глава II", 4));
options.Headings.Add(new TocHeading("Глава III", 5));
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfManager.AddTableOfContents(options);
Пример использования:
Пример демонстрирует, как добавить оглавление в PDF файл с генерацией закладок.
// Создайте объект TocOptions, чтобы задать инструкции
var options = new TocOptions();
// Установите заголовок
options.Title = "Мое Оглавление";
// Генерировать ссылки в закладках
options.GenerateBookmarks = true;
// Настройте заголовки
options.Headings.Add(new TocHeading("Введение", 2, false, 1));
options.Headings.Add(new TocHeading("Глава I", 3, true, 1));
options.Headings.Add(new TocHeading("Глава II", 4, true, 1));
options.Headings.Add(new TocHeading("Пример A", 4, true, 2));
options.Headings.Add(new TocHeading("Пример B", 4, true, 2));
options.Headings.Add(new TocHeading("Пример C", 4, true, 2));
options.Headings.Add(new TocHeading("Пример D", 4, true, 2));
options.Headings.Add(new TocHeading("Глава III", 5, true, 1));
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
PdfManager.AddTableOfContents(options);
Пример использования:
Пример демонстрирует, как добавить оглавление в PDF файл и сохранить как поток.
// Создайте объект TocOptions, чтобы задать инструкции
var options = new TocOptions();
// Установите заголовок
options.Title = "Мое Оглавление";
// Настройте заголовки
options.Headings.Add(new TocHeading("Введение", 2, false, 1));
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите выходной поток
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Выполните процесс
PdfManager.AddTableOfContents(options);
Улучшенная удобоспособность TableGenerator
- Класс TableGenerator: является статическим и не требует использования конструктора.
- Класс TableGenerator: помечен как устаревший. Используйте PdfManager вместо.
Улучшенная удобоспособность PdfChatGpt
- Класс PdfChatGpt: является статическим и не требует использования конструктора.
- Класс PdfChatGptRequestOptions: добавлено свойство CancellationToken (Перемещено из PdfChatGpt).
Пример использования:
Пример демонстрирует, как использовать плагин PdfChatGpt, добавляя сообщения к запросу.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Добавьте путь к выходному файлу.
options.ApiKey = "Ваш API ключ."; // Вам необходимо предоставить ключ для доступа к API.
options.MaxTokens = 1000; // Максимальное количество токенов для генерации в завершении чата.
// для отмены
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// Добавьте сообщения запроса.
options.Messages.Add(new Message
{
Content = "Вы полезный ассистент.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "Какой самый большой диаметр пиццы когда-либо сделанной?",
Role = Role.User
});
// Обработайте запрос.
await PdfChatGpt.ProcessAsync(options);
Исправленные ошибки
- Исправлена мета-информация преобразования html в pdf
- Исправлены проблемы форматирования текста и масштабирования изображений при преобразовании PDF в PDF/A_3b
- Исправлены ошибки на печати итогового PDFA при преобразовании PDF в PDFA
- Исправлены ошибки при преобразовании PDF в HTML: результирующее изображение содержит фон
- Исправлены ошибки при преобразовании HTML в PDF: Некоторые китайские символы отображаются в виде коробок
- Исправлены ошибки при преобразовании HTML в PDF: нестандартный шрифт Base64 не учитывается
- Исправлены ошибки при преобразовании HTML в PDF: стили css для полей формы не применяются
- Исправлены ошибки при преобразовании HTML в PDF: график неправильно отображается
- Исправлены ошибки при преобразовании HTML в PDF: Специальные символы не отображаются
v25.9
Улучшена удобство использования DocConverter и добавлен дополнительный режим
- Класс DocConverter: является статическим и не требует использования конструктора.
- Класс PdfToDocOptions: добавлено свойство “Mode”, которое позволяет настраивать процесс конвертации.
- Enum DocConversionMode: позволяет настраивать процесс конвертации pdf-doc. Значения:
- TextBox: Этот режим быстрый и хорошо подходит для максимально точного сохранения оригинального внешнего вида PDF файла, но редактируемость полученного документа может быть ограничена. Каждый визуально сгруппированный блок текста в оригинальном PDF файле конвертируется в текстовое поле в результирующем документе.
- Flow: Полный режим распознавания, движок выполняет группировку и многоуровневый анализ для восстановления оригинального намерения автора документа и создания максимально редактируемого документа.
Пример использования:
// Пример демонстрирует, как конвертировать PDF документ в формат Doc.
// Создайте объект PdfToDocOptions, чтобы задать инструкции
var options = new PdfToDocOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Выполните процесс
DocConverter.Process(options);
Пример использования:
// Пример демонстрирует, как конвертировать PDF документ в формат Doc с установкой режима.
// Создайте объект PdfToDocOptions, чтобы задать инструкции
var options = new PdfToDocOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Установите режим
options.Mode = DocConversionMode.Flow;
// Выполните процесс
DocConverter.Process(options);
Улучшена удобство использования PdfAConverter
Класс PdfAConverter: является статическим и не требует использования конструктора.
Пример использования:
// Пример демонстрирует, как конвертировать PDF документ в формат PDF/A (в данном случае PDF/A-3b):
// Создайте класс опций для настройки процесса конвертации
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"));
// Запустите конвертацию
PdfAConverter.Process(options);
Пример использования:
// Пример демонстрирует, как проверить соответствие PDF документа формату PDF/A (в данном случае PDF/A-1a):
// Создайте класс опций для настройки процесса валидации
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Добавьте один или несколько файлов для валидации
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // замените на фактический путь к файлу
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// добавьте дополнительные файлы по мере необходимости
// Запустите валидацию и получите результаты
var resultContainer = PdfAConverter.Process(options);
// Проверьте свойство resultContainer.ResultCollection для результатов валидации каждого файла:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Результат валидации для i-го документа
}
Улучшена удобство использования Timestamp
Класс Timestamp: является статическим и не требует использования конструктора.
Пример использования:
// Пример демонстрирует, как добавить Timestamp к документу.
// Создайте объект AddTimestampOptions, чтобы задать инструкции
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Timestamp.Process(options);
Обновленная документация
Обновлены примеры, добавлены дополнительные примеры:
- Информация о лицензии и оценке
- Страницы продукта
- Генератор таблиц PDF
- Генератор оглавлений PDF
- Добавление Timestamp в PDF
- Конвертер PDF/A
- Извлекатель изображений из PDF
- Извлекатель текста из PDF
- Конвертер PDF в XLS
- Конвертер PDF в HTML
Исправленные ошибки
- Исправлены проблемы с HTML в PDF
- Исправлены проблемы с PDF в PDF/A-2B
- Улучшен PDF в JPEG: некоторые текстовые символы генерируются как квадраты
- Исправлена отрисовка PDF в TIFF
- Исправлены непредвиденные исключения при конвертации PDF в JPEG
v25.8
Улучшенная удобство использования JpegConverter
Класс JpegConverter: статический и не требует использования конструктора.
Пример использования:
// Пример демонстрирует, как преобразовать PDF-документ в формат JPEG.
// Создайте объект PdfToJpegOptions для установки инструкций
var options = new PdfToJpegOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Установите путь к выходной директории
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Выполните процесс
JpegConverter.Process(options);
Улучшенная удобство использования PngConverter
Класс PngConverter: статический и не требует использования конструктора.
Пример использования:
// Пример демонстрирует, как преобразовать PDF-документ в формат PNG.
// Создайте объект PdfToPngOptions для установки инструкций
var options = new PdfToPngOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Установите путь к выходной директории
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Выполните процесс
PngConverter.Process(options);
Улучшенная удобство использования XlsConverter
- Класс XlsConverter: статический и не требует использования конструктора.
- Класс XlsConverter: исправлено описание.
Пример использования:
// Пример демонстрирует, как преобразовать PDF в документ XLSX.
// Создайте объект PdfToXlsOptions для установки инструкций
var options = new PdfToXlsOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Выполните процесс
XlsConverter.Process(options);
Улучшенная удобство использования Signature
- Класс Signature: статический и не требует использования конструктора.
- Класс Signature: исправлено описание.
- Класс Signature: интерфейс IPlugin удален.
Пример использования:
// Пример демонстрирует, как подписать PDF-документ.
// Создайте объект SignOptions для установки инструкций
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Signature.Process(options);
Измененные конструкторы PdfToHtmlOptions
Конструкторы и аргументы оптимизированы.
Текст оценки изменен.
Обновленная документация
Обновлены примеры, добавлены дополнительные примеры:
- Конвертер PDF в JPEG
- Конвертер PDF в PNG
- Конвертер PDF в TIFF
- Упрощение форм PDF
- Конвертер HTML
- Безопасность PDF
- Оптимизатор PDF
- Объединитель PDF
- Разделитель PDF
Исправленные ошибки
- Исправлены проблемы с аннотациями
- Исправлены проблемы после изменения размера
- Исправлено преобразование имен шрифтов 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
- Класс PdfToTiffOptions: Добавлен дополнительный параметр для конверсии - Сжатие.
- Класс PdfToTiffOptions: Добавлен дополнительный параметр для конверсии - Глубина цвета.
- Класс TiffConverter статичен и не требует использования конструктора.
- Улучшены основные примеры.
Примеры использования:
// Этот пример демонстрирует, как конвертировать документ PDF в формат TIFF.
// Создайте объект PdfToTiffOptions, чтобы установить инструкции
var options = new PdfToTiffOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному каталогу
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Выполните процесс
TiffConverter.Process(options);
// Этот пример демонстрирует, как конвертировать документ PDF в формат TIFF с дополнительными параметрами.
// Создайте объект PdfToTiffOptions, чтобы установить инструкции
var options = new PdfToTiffOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному каталогу
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Необязательные параметры
options.PageList = new List<int> { 1, 3 };
options.MultiPage = true;
options.OutputResolution = 400;
options.Compression = TiffCompression.RLE;
options.ColorDepth = TiffColorDepth.Format24bpp;
// Выполните процесс
TiffConverter.Process(options);
Небольшие исправления
v25.5
- Класс FormExporter: Представляет плагин Documentize.FormExporter, который используется для экспорта значений форм PDF документов в файл DSV или CSV.
- Класс FormExportToDsvOptions: Представляет параметры для экспорта значений PDF документов в файл DSV или CSV с помощью плагина Documentize.FormExporter.
Пример использования:
// Пример демонстрирует, как экспортировать значения формы в файл CSV.
// Создайте объект FormExportToDsvOptions, чтобы установить инструкции
var options = new FormExportToDsvOptions(',', true);
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Выполните процесс
FormExporter.Process(options);
Улучшена удобство использования Security
- Класс статический и не требует использования конструктора.
- Улучшены основные примеры.
Примеры использования:
// Пример демонстрирует, как зашифровать PDF документ.
// Создайте объект EncryptionOptions, чтобы установить инструкции
var options = new EncryptionOptions("123456", "qwerty");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Security.Process(options);
// Пример демонстрирует, как расшифровать PDF документ.
// Создайте объект DecryptionOptions, чтобы установить инструкции
var options = new DecryptionOptions("123456");
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Security.Process(options);
Небольшие исправления
- Улучшены подсказки по классам и лицензиям.
v25.4
Улучшенная удобочитаемость Optimizer
- Класс статический и не требует использования конструктора.
- Улучшен основной пример.
- Добавлены дополнительные примеры.
Примеры использования:
// Пример демонстрирует, как оптимизировать PDF документ.
// Создайте объект OptimizeOptions для установки инструкций
var options = new OptimizeOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Optimizer.Process(options);
// Пример демонстрирует, как повернуть PDF документ.
// Создайте объект RotateOptions для установки инструкций
var options = new RotateOptions();
// Установите новое вращение
options.Rotation = Rotation.On90;
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Optimizer.Process(options);
// Пример демонстрирует, как изменить размер PDF документа.
// Создайте объект ResizeOptions для установки инструкций
var options = new ResizeOptions();
// Установите новый размер страницы
options.PageSize = PageSize.A3;
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Optimizer.Process(options);
// Пример демонстрирует, как сжать PDF документ.
// Создайте объект CompressOptions для установки инструкций
var options = new CompressOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Optimizer.Process(options);
Улучшенная удобочитаемость Plugin Splitter
- Класс статический и не требует использования конструктора.
- Улучшен основной пример.
Примеры использования:
// Пример демонстрирует, как разделить PDF документ.
// Создайте объект SplitOptions для установки инструкций
var options = new SplitOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите пути к выходным файлам
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Выполните процесс
Splitter.Process(options);
Улучшенная удобочитаемость Plugin Merger
- Класс статический и не требует использования конструктора.
- Улучшен основной пример.
Примеры использования:
// Пример демонстрирует, как объединить два PDF документа.
// Создайте объект MergeOptions для установки инструкций
var options = new MergeOptions();
// Добавьте пути к входным файлам
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполните процесс
Merger.Process(options);
Мелкие исправления
- Улучшены подсказки классов.
v25.3
- Class FormFlattener: Представляет плагин Documentize.FormFlattener, который используется для преобразования полей в PDF-документах.
- Class FormFlattenerOptions: Представляет параметры для преобразования полей в документе с помощью плагина Documentize.FormFlattener.
Пример использования:
//Данный пример демонстрирует, как преобразовать поля в PDF-файле.
// Создайте объект FormFlattenerOptions для установки инструкций
var options = new FormFlattenerOptions();
// Добавьте путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установите путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
//Необязательный параметр для пропуска поля с именем "Surname".
options.SkipFields.Add("Surname");
// Выполнить процесс
FormFlattener.Process(options);
//Данный пример демонстрирует, как получить имена полей из PDF-файла.
var fieldNames = FormFlattener.GetFieldNames("path_to_your_pdf_file.pdf");
Небольшие исправления
- Улучшены подсказки классов и примеры.
v25.2
Добавлен новый плагин: Генератор содержания
- Class TocGenerator: Представляет плагин Documentize.TocGenerator. Используется для добавления оглавления в PDF документы.
- Class TocOptions: Представляет параметры для добавления оглавления в документ с помощью плагина Documentize.TocGenerator.
- Class TocHeading: Представляет параметры для заголовков или названий оглавления документа с помощью плагина Documentize.TocGenerator.
Пример использования:
// Пример демонстрирует, как добавить оглавление в PDF файл.
var options = new TocOptions();
// Установить заголовок
options.Title = "Мое оглавление";
// Генерировать ссылки в закладках
options.GenerateBookmarks = true;
// Дизайн заголовков
options.Headings.Add(new TocHeading("Введение", 2, false, 1));
options.Headings.Add(new TocHeading("Глава I", 3, true, 1));
options.Headings.Add(new TocHeading("Глава II", 4, true, 1));
options.Headings.Add(new TocHeading("Пример A", 4, true, 2));
options.Headings.Add(new TocHeading("Пример B", 4, true, 2));
options.Headings.Add(new TocHeading("Пример C", 4, true, 2));
options.Headings.Add(new TocHeading("Пример D", 4, true, 2));
options.Headings.Add(new TocHeading("Глава III", 5, true, 1));
// Добавить путь к входному файлу
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Установить путь к выходному файлу
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Выполнить процесс
TocGenerator.Process(options);
Небольшие исправления
- Улучшены подсказки и примеры классов.
- Обновлены водяные знаки.
- Улучшена конверсия PDF в XSLX.
- Улучшена конверсия PDF в PDF/A-1a.
v25.1
- Добавлено коллекция выходных данных в ImageExtractorOptions.
- Добавлена поддержка нескольких входов в ImageExtractorOptions.
- Исправлены закрытые выходные потоки.
Пример использования:
// создать объект ImageExtractor для извлечения изображений
var plugin = new ImageExtractor();
// создать ImageExtractorOptions
var opt = new ImageExtractorOptions();
// добавить путь к входному файлу
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// установить выходной каталог
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// выполнить процесс извлечения
var resultContainer = plugin.Process(opt);
// получить изображение из объекта ResultContainer
var imageExtracted = resultContainer.ResultCollection[0].ToFile();
Небольшие исправления
- Улучшены подсказки и примеры классов.
- Валидация подписи PDF.
- Улучшена поддержка китайских символов.
v24.12
Добавлен новый плагин: Конвертер PDF в PNG
- Класс PngConverter: Представляет плагин Documentize.PngConverter. Используется для конвертации PDF-документов в формат PNG.
- Класс PdfToPngOptions: Представляет параметры конвертации PDF в PNG для плагина Documentize.PngConverter.
Пример использования:
// создать PngConverter
var plugin = new PngConverter();
// создать объект PdfToPngOptions для установки инструкций
var opt = new PdfToPngOptions();
// добавить путь к входному файлу
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// установить путь к выходному файлу
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// выполнить процесс
plugin.Process(opt);
Добавлен новый плагин: Конвертер PDF в TIFF
- Класс TiffConverter: Представляет плагин Documentize.TiffConverter. Используется для конвертации PDF-документов в формат TIFF.
- Класс PdfToTiffOptions: Представляет параметры конвертации PDF в TIFF для плагина Documentize.TiffConverter.
Пример использования:
// создать TiffConverter
var plugin = new TiffConverter();
// создать объект PdfToTiffOptions для установки инструкций
var opt = new PdfToTiffOptions();
// добавить путь к входному файлу
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// установить путь к выходному файлу
opt.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// выполнить процесс
plugin.Process(opt);
Добавлен новый плагин: Генератор таблиц PDF
- Класс TableGenerator: Представляет плагин Documentize.TableGenerator. Используется для добавления таблицы в PDF-документ.
- Класс TableBuilder: Класс представляет построитель таблицы на странице PDF.
- Класс TableRowBuilder: Класс представляет построитель строки таблицы.
- Класс TableCellBuilder: Класс представляет построитель ячейки таблицы.
Пример использования:
// создать TableGenerator
var plugin = new TableGenerator();
// создать объект TableOptions для установки инструкций
TableOptions opt = new TableOptions().InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Имя")
.AddCell().AddParagraph("Возраст")
.AddRow()
.AddCell().AddParagraph("Боб")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Сэм")
.AddCell().AddParagraph("20")
.AddRow()
.AddCell().AddParagraph("Сэнди")
.AddCell().AddParagraph("26")
.AddRow()
.AddCell().AddParagraph("Том")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Джим")
.AddCell().AddParagraph("27");
// добавить путь к входному файлу
opt.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// установить путь к выходному файлу
opt.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// выполнить процесс
plugin.Process(opt);
Переименован класс PdfDoc в DocConverter
- Класс DocConverter: Представляет плагин Documentize.DocConverter. Используется для конвертации PDF-документов в формат DOC/DOCX.
Пример использования:
// создать DocConverter
var plugin = new DocConverter();
// создать объект PdfToDocOptions для установки инструкций
var opt = new PdfToDocOptions();
// добавить путь к входному файлу
opt.AddInput(new FileDataSource(inputPath));
// установить путь к выходному файлу
opt.AddOutput(new FileDataSource(outputPath));
// выполнить процесс
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 Конвертер
- Введена новая функция конвертации 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
Выпущено