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

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

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

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 осигуряват добър баланс между качество и размер на файла.
  • За пакетно конвертиране, итерирайте страниците и обработвайте всяка с подходящото устройство.
  • Освобождавайте потоци след обработка, за да освободите файлови дескриптори.

Чести проблеми

ПроблемПричинаРешение
Изображението е размазаноРезолюцията е твърде нискаУвеличете DPI в конструктора Resolution
TIFF файлът е твърде голямНекомпресиран или настройки с висока резолюцияКонфигурирайте компресията на TiffSettings
Изходният поток е празенProcess не е извикан или индексът на страницата е грешенПроверете дали страницата съществува и Process завършва

ЧЗВ

Мога ли да рендерирам конкретен диапазон от страници към 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 (компресия, дълбочина на цвят)

Вижте още

 Български