设备和渲染
设备和渲染
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);分辨率控制
所有设备都接受一个指定 DPI 的 Resolution 对象。
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 提供了质量与文件大小的良好平衡。
- 对于批量转换,遍历页面并使用相应的设备处理每一页。
- 处理完毕后释放流以释放文件句柄。
常见问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 图像模糊 | 分辨率太低 | 在 Resolution 构造函数中增加 DPI |
| 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 输出配置(压缩、色深) |