デバイスとレンダリング

デバイスとレンダリング

デバイスとレンダリング

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 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 は 1 回の呼び出しで文書全体を処理できます。その他のデバイスは 1 ページずつ処理します。
  • JPEG の品質値は 0〜100 の範囲で、85〜90 が品質とファイルサイズのバランスが良いです。
  • バッチ変換の場合、ページを反復処理し、各ページを適切なデバイスで処理します。
  • 処理後にストリームを破棄して、ファイルハンドルを解放します。

一般的な問題

IssueCauseFix
画像がぼやけている解像度が低すぎるResolution コンストラクタで DPI を上げる
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指定
TiffSettingsTIFF出力設定(圧縮、カラーデプス)

参照

 日本語