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