このページには自動翻訳されたテキストを含めることができます。

C# および VB.NET で PDF を画像に変換する

PDFを画像に変換する必要がある場合があります。 たとえば、PDF からサムネイル画像を作成したり、一部の PDF ドキュメントに対して光学式文字認識 (OCR) を実行したりする必要がある場合があります。

Docotic.Pdf ライブラリ を使用して、C# および VB.NET プロジェクトで PDF ドキュメ ントを画像に変換できます。 ライブラリは外部依存関係なしで 100% 管理されます。 PDF のラスタライズに は System.Drawing.dll と GDI+ を使用しません。 したがって、Windows、Linux、macOS、iOS、Android 上で 一貫した出力が得られます。

Docotic.Pdf ライブラリ 9.3.17036-dev 回帰テスト 14,665人が合格 NuGet の合計ダウンロード数 4,191,515

ライブラリの バイナリ をダウンロードするか、その NuGet パッケー ジ を使用できます。 評価モードの制限なしで Docotic.Pdf を試すには、こちらの フォーム を使用して、無料の期間限定ライセンス キーを取得できます。

Docotic.Pdf には、PDF から画像への変換のための多くのオプションが用意されています。 また、PDF ド キュメントのレンダリングと印刷 もできます。 Docotic.Pdf ライブラリを使用して PDF を画像に変換する方法を見てみましょう。

C# および VB.NET での PDF から画像への変換

PDF ページを PNG、JPG、または TIFF 画像として保存

Docotic.Pdf ライブラリを使用すると、PDF ページを PNG、JPEG、または TIFF 画像に変換できます。 結果の イメージをストリームまたはファイルに書き込むことができます。 この C# スニペットは、PDF ページを背景 が白、解像度 300x300 dpi の PNG 画像に保存します:

using BitMiracle.Docotic.Pdf;

using (var pdf = new PdfDocument("your_document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);
    options.HorizontalResolution = 300;
    options.VerticalResolution = 300;

    for (int i = 0; i < pdf.PageCount; ++i)
        pdf.Pages[i].Save($"page_{i}.png", options);
}

PdfDrawOptions.Compression プロパティを使用して、PNG の代わりに JPEG または TIFF 画像を生成するようにライブラリに指示できます。 次のスニペットは、JPEG 画像の作成に切り替える方法を示しています:

PdfDrawOptions options = ..;
options.Compression = ImageCompressionOptions.CreateJpeg();

関連する C# および VB.NET のサンプルは GitHub で入手できます。

PDF ドキュメントを .NET で複数ページの TIFF に変換

PdfDocument.SaveAsTiff メソッドを使用して、ドキュメント 全体を複数ページの TIFF 画像に保存できます。 PDF から TIFF への変換のための C# サンプルは次のとおり です:

using (var pdf = new PdfDocument("document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);

    pdf.SaveAsTiff("result.tiff", options);
}

GitHub から PDF をマルチページ TIFF として保存 サンプル コードをダウンロードして 試してください。 C# バージョンと VB.NET バージョンの両方がそこで入手可能です。

PDFからサムネイルを作成する

Docotic.Pdf ライブラリを利用すると、PDF ページからサムネイルを生成できます。 この C# サンプルは、指 定された PDF の最初のページから 200x200 ピクセルのサムネイルを作成し、そのサムネイルをメモリ スト リームに書き込みます:

using (var pdf = new PdfDocument("document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.CreateFitSize(new PdfSize(200, 200), false);
    options.BackgroundColor = new PdfGrayColor(100);
    
    using (var stream = new MemoryStream())
    {
        pdf.Pages[0].Save(stream, options);
        ..
    }
}

PdfDrawOptions.CreateFitWidth または PdfDrawOptions.CreateFitHeight メソッドを使用し て、指定した幅または高さのサムネイル画像を作成することもできます。

.NET で PDF をモノクロ画像またはグレースケール画像に変換する

このライブラリは、PDF ドキュメントをモノクロ (白黒) TIFF 画像に変換できます。 このサンプルでは、C# で PDF ドキュメントからモノクロ TIFF イメージを生成する方法を示します:

using (var pdf = new PdfDocument("colored.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);
    options.Compression = ImageCompressionOptions.CreateTiff().SetBitonal();

    pdf.SaveAsTiff("bitonal.tiff", options);
}

TiffImageCompressionOptions.SetBitonalThreshold メソッドを使用するときに、しきい値レベルを指定することもできます。 しきい値レベルは、グレースケー ル、RGB、または CMYK カラーを白黒に変換する方法を定義します。

Docotic.Pdf は、PDF からグレースケール PNG、JPG、または TIFF 画像への変換もサポートしています。 PngImageCompressionOptions.SetGrayscaleJpegImageCompressionOptions.SetGrayscaleTiffImageCompressionOptions.SetGrayscale のいずれかを使用するだけです。 次のスニペットのようなメソッド:

PdfDrawOptions options = ..;
options.Compression = ImageCompressionOptions.CreatePng().SetGrayscale();

PDFを拡大する

PdfDrawOptions.CreateZoom メソッドを使用すると、指定 したズーム レベルで PDF ページの画像を取得できます。 この C# サンプルは、PDF ページを 400% のズーム レベルの画像に変換します:

using (var pdf = new PdfDocument(@"document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.CreateZoom(400);
    pdf.Pages[0].Save("zoomed.png", options);
}

部分的な PDF から画像へのレンダリング

PDF ページの一部のみを画像に変換する必要がある場合があります。 たとえば、大きな PDF ページをタイル に分割します。 または、不要なコンテンツをトリミングすることもできます。

この C# コードは、PDF ページの左上隅に 256x256 ポイント領域の画像を保存します:

using (var pdf = new PdfDocument("large.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);

    PdfPage page = pdf.Pages[0];
    PdfBox cropBoxBefore = page.CropBox;

    page.CropBox = new PdfBox(0, cropBoxBefore.Height - 256, 256, cropBoxBefore.Height);
    page.Save("part.png", options);

    page.CropBox = cropBoxBefore;
}

タイル化された PDF から画像へのレンダリング

Docotic.Pdf は、PDF から TIFF へのタイル レンダリングの組み込みサポートを提供します。 この方法は、 固定量のメモリを使用して大きな PDF ページを処理する必要がある場合に便利です。

たとえば、PDF ドキュメントに 10000x10000 ポイントのサイズのページが含まれているとします。 このペー ジを 300 DPI 解像度の RGB 画像に通常変換するには、中間の非圧縮 RGB 画像データ用に 1 Gb (= 10000 * 10000 * 3 * 300 / 72.0 バイト) を超えるメモリが必要です。 1024x1024 タイルでタイル レンダリングを使 用すると、非圧縮 RGB 画像データのメモリ消費量を 12 Mb (= 1024 * 1024 * 3 * 300 / 72.0 バイト) に制 限できます。

タイル化された PDF から画像への変換は、通常の変換よりも時間がかかることに注意してください。 すべて のタイルについて、ライブラリは、一部の操作が現在のタイルに影響を及ぼさない場合でも、すべての PDF ページ操作を処理する必要があります。

この C# サンプルは、512x512 タイルを使用して PDF を画像に変換する方法を示しています:

using (var pdf = new PdfDocument("large.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.Compression = ImageCompressionOptions.CreateTiff().SetTileSize(512, 512);
    options.BackgroundColor = new PdfGrayColor(100);
    options.HorizontalResolution = 300;
    options.VerticalResolution = 300;

    pdf.Pages[0].Save("tiled.tiff", options);
}

結論

Docotic.Pdf ライブラリ は、.NET で PDF を画像に変換するためのさまざまなオプショ ンを提供します。 PDF ページをフルサイズの画像または PNG、TIFF、JPEG 形式のサムネイル画像に変換でき ます。 また、PDF ドキュメントを複数ページの TIFF ファイルとして保存できます。 このライブラリは、モ ノクロ画像やグレースケール画像を生成することもできます。

GitHub から PDF to image サンプルをダウンロードして試してください。

PDF から画像への変換についてご質問がある場合は、お問い合わせ までお問い合わせください。