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-файлу
 Русский