دستگاهها و رندرینگ
دستگاهها و رندرینگ
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 تعادل خوبی بین کیفیت و حجم فایل فراهم میکند.
- برای تبدیل دستهای، صفحات را تکرار کنید و هر کدام را با دستگاه مناسب پردازش کنید.
- پس از پردازش، جریانها را آزاد کنید تا دستگیرههای فایل آزاد شوند.
مسائل رایج
| Issue | Cause | Fix |
|---|---|---|
| تصویر تار است | وضوح پایین است | DPI را در سازنده Resolution افزایش دهید |
| فایل TIFF بیش از حد بزرگ است | تنظیمات بدون فشردهسازی یا وضوح بالا | فشردهسازی TiffSettings را پیکربندی کنید |
| جریان خروجی خالی است | Process فراخوانی نشده یا اندیس صفحه اشتباه است | وجود صفحه را تأیید کنید و Process تکمیل شود |
سوالات متداول
آیا میتوانم یک بازه صفحه خاص را به TIFF رندر کنم؟
بله. TiffDevice.Process دارای overloadهایی است که شماره صفحه شروع و پایان را میپذیرند.
کدام انواع فشردهسازی توسط TiffSettings پشتیبانی میشود؟
LZW، CCITT3، CCITT4، RLE، بدون، و سایر انواع فشردهسازی استاندارد TIFF.
آیا میتوانم ابعاد تصویر خروجی را کنترل کنم؟
بله. سازندههای Device پارامترهای عرض و ارتفاع را علاوه بر یا به جای رزولوشن میپذیرند.
خلاصه مرجع API
| Class / Method | Description |
|---|---|
PngDevice | رندر یک صفحه به فرمت PNG |
JpegDevice | رندر یک صفحه به فرمت JPEG با کنترل کیفیت |
TiffDevice | رندر صفحات به فرمت TIFF چندصفحهای |
BmpDevice | رندر یک صفحه به فرمت BMP |
ImageDevice | کلاس پایه برای تمام دستگاههای رندر تصویر |
DocumentDevice | کلاس پایه برای دستگاههایی که کل اسناد را پردازش میکنند |
TextDevice | استخراج متن از طریق خط لوله دستگاه |
Resolution | مشخصات DPI برای رندر |
TiffSettings | پیکربندی خروجی TIFF (فشردهسازی، عمق رنگ) |