Устройства и визуализация

Устройства и визуализация

Устройства и Рендеринг

Aspose.PDF FOSS for .NET предоставляет классы устройств, которые рендерят страницы PDF в растровые изображения. Каждое устройство ориентировано на конкретный формат — TIFF, JPEG, PNG или BMP — и принимает параметры разрешения и качества.


Рендеринг в PNG

PngDevice преобразует страницу PDF в изображение PNG.

using var doc = Document.Open(pdfBytes);

var device = new PngDevice(new Resolution(300));
using var stream = File.Create("page1.png");
device.Process(doc.Pages[1], stream);

Рендеринг в JPEG

JpegDevice преобразует страницу в JPEG с настраиваемым качеством.

var device = new JpegDevice(new Resolution(150), 90); // 90% quality
using var stream = File.Create("page1.jpg");
device.Process(doc.Pages[1], stream);

Рендеринг в TIFF

TiffDevice преобразует одну или несколько страниц в многостраничное изображение TIFF.
TiffSettings управляет сжатием, глубиной цвета и формой.

var settings = new TiffSettings();
var device = new TiffDevice(new Resolution(200), settings);

using var stream = File.Create("document.tiff");
device.Process(doc, stream);  // All pages

Рендеринг в BMP

BmpDevice преобразует страницу в несжатый битмап.

var device = new BmpDevice(new Resolution(300));
using var stream = File.Create("page1.bmp");
device.Process(doc.Pages[1], stream);

Контроль разрешения

Все устройства принимают объект Resolution, указывающий DPI.

var lowRes = new Resolution(72);   // Screen quality
var midRes = new Resolution(150);  // Print draft
var hiRes = new Resolution(300);   // Print quality

Извлечение текста с помощью TextDevice

TextDevice извлекает текст со страницы, используя конвейер обработки устройства.

var device = new TextDevice();
using var stream = new MemoryStream();
device.Process(doc.Pages[1], stream);
string text = System.Text.Encoding.UTF8.GetString(stream.ToArray());

Советы и лучшие практики

  • Используйте 300 DPI для вывода печатного качества и 72–150 DPI для экрана/веб‑использования.
  • TiffDevice может обработать весь документ за один вызов; другие устройства обрабатывают по одной странице за раз.
  • Значения качества JPEG находятся в диапазоне от 0 до 100; 85–90 обеспечивают хороший баланс между качеством и размером файла.
  • Для пакетного преобразования перебирайте страницы и обрабатывайте каждую с помощью соответствующего устройства.
  • Освобождайте потоки после обработки, чтобы освободить файловые дескрипторы.

Распространённые проблемы

IssueCauseFix
Image is blurryResolution too lowIncrease DPI in the Resolution constructor
TIFF file too largeUncompressed or high-resolution settingsConfigure TiffSettings compression
Output stream is emptyProcess not called or page index wrongVerify page exists and Process completes

Часто задаваемые вопросы

Могу ли я отобразить определённый диапазон страниц в TIFF?

Да. TiffDevice.Process имеет перегрузки, принимающие номера начальной и конечной страниц.

Какие типы сжатия поддерживает TiffSettings?

LZW, CCITT3, CCITT4, RLE, None и другие стандартные типы сжатия TIFF.

Могу ли я управлять размерами выходного изображения?

Да. Конструкторы Device принимают параметры ширины и высоты в дополнение к разрешению или вместо него.


Сводка справки API

Class / MethodDescription
PngDeviceОтрисовать страницу в формате PNG
JpegDeviceОтрисовать страницу в формате JPEG с контролем качества
TiffDeviceОтрисовать страницы в многостраничный TIFF
BmpDeviceОтрисовать страницу в формате BMP
ImageDeviceБазовый класс для всех устройств отрисовки изображений
DocumentDeviceБазовый класс для устройств, обрабатывающих целые документы
TextDeviceИзвлечь текст через конвейер устройства
ResolutionУказание DPI для отрисовки
TiffSettingsКонфигурация вывода TIFF (сжатие, глубина цвета)

См. также

 Русский