Устройства и рендериране
Устройства и рендериране
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 / Method | Description |
|---|---|
PngDevice | Рендериране на страница във формат PNG |
JpegDevice | Рендериране на страница в JPEG с контрол на качеството |
TiffDevice | Рендериране на страници в многостраничен TIFF |
BmpDevice | Рендериране на страница във формат BMP |
ImageDevice | Базов клас за всички устройства за рендериране на изображения |
DocumentDevice | Базов клас за устройства, които обработват цели документи |
TextDevice | Извличане на текст чрез конвейера на устройството |
Resolution | Спецификация на DPI за рендериране |
TiffSettings | Конфигурация на изхода TIFF (компресия, дълбочина на цвят) |