デバイスとレンダリング
デバイスとレンダリング
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 は、1ページ以上をマルチページ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 pagesBMPへのレンダリング
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 qualityTextDeviceによるテキスト抽出
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は 1 回の呼び出しで文書全体を処理できます。その他のデバイスは 1 ページずつ処理します。- JPEG の品質値は 0〜100 の範囲で、85〜90 が品質とファイルサイズのバランスが良いです。
- バッチ変換の場合、ページを反復処理し、各ページを適切なデバイスで処理します。
- 処理後にストリームを破棄して、ファイルハンドルを解放します。
一般的な問題
| Issue | Cause | Fix |
|---|---|---|
| 画像がぼやけている | 解像度が低すぎる | 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出力設定(圧縮、カラーデプス) |