トラスト・ソフトウェア・システム
トラスト・ソフトウェア・システム

PDF to Image Converter ラスタライズ画像のPDFに変換するC#サンプルと解説

「PDF to Image Converter」は、PDF文書を単一(TIFF、JPEG他)または、複数ページの画像(TIFF)または、画像化されたPDFに変換する機能を アプリケーションに追加するライブラリ(API) です。

機能特徴
  • 単一または複数の画像を生成
  • 画像フォーマット:TIFF、JPEG、JBIG2、JPEG2000、PNG、GIF、BMP など
  • ラスタライズされたPDF文書を作成可能
  • PDF文書の復号と暗号化可能
  • 画像フィルター(スーパーサンプリング、バイキュービック、バイリニア)の設定でエイリアスやモアレを低減
  • 色空間(グレースケール、RGB、CMYK、インデックス)選択可
  • 解像度、色数 設定
  • 非可逆圧縮やロスレスJPEG2000またはJBG2圧縮を選択可
  • 画質やサイズ(非可逆圧縮)の最適化
  • ハーフトーン方式(Floyd Steinberg、half-tone matrixなど)を選択可
  • 微細なテキスト文字の線幅を太くする
日本語マニュアル( HTML形式PDF形式 )をご参照ください。

PDF to Image Converter 機能概要はこちらです。
サンプル( 他のC#サンプルC++VB6Javaコマンドライン(shell) )を公開しています。
無償評価版(リンク先は英語)はこちらです。 ダウンロード手順
PDF to Image Converter ソフト 購入(価格)

廉価(低価格)版
PDFを画像に変換するライブラリの機能を限定した廉価(低価格)版を参照してください。

無償評価版のダウンロードとインストール

 ライブラリ(評価版API)は無償でダウンロード(試用)できますので、PDF to Image Converterダウンロード手順を参照してダウンロードください。
 ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
binライブラリやライセンスマネージャーなど
doc使用説明書やjavadocなど
includeC/C++用のヘッダー(.h)ファイル
jarP2IA.jar,PCIA.jar(Javaのラッパー)
libC/C++用のlibファイル
samples各種開発言語のサンプル
サンプルの実行前に、参照設定などを行ってください。また、無償評価版と共にダウンロードしたライセンスキーを bin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。なお、ライセンスキーはプログラミングで指定できます。ソースコードを参照してください。
日本語マニュアルZIP形式PDF形式HTML形式)は、インストーラには含まれていませんのでこちらからダウンロードしてください。

参照設定

C#プロジェクトでは、以下のように.NET用DLLの参照を設定します。なお、サンプルは、基本的にコンソールアプリケーションです。
  1. C#プロジェクトを新規に作成します。
  2. PDF to Image ConverterライブラリのNETラッパを参照する設定をします。
  3. Visual Studio C#のメインメニューで、「プロジェクト(P)」→「参照の追加(R)...」を選択します。
    以下のようなダイアログが表示されますので、解凍して作成されたフォルダーの「bin」に格納されている.NET用のDLLを指定します。
    PDF to Image Converter参照設定
  4. ネイティブのDLLを作成したプロジェクトに追加します。
  5. Visual Studioのソリューション エクスプローラ(左ペーン)で作成したプロジェクトを右クリックします。
    表示されたメニューから「追加(D)」->「既存の項目(G)...」を選択して表示されたダイアログでPdf2ImgOCX.dll(またはPdf2PdfImgOCX.dll)を追加します。

すべてのページをラスター形式画像のPDFに変換するC#サンプルと解説

 PDF文書をラスター画像に変換して、テキストやベクター画像などを取り出せなくします。
 ラスター形式画像化された画像のPDF文書に変換するC#のサンプル・コードです。 PDFのすべてのページがそれぞれ画像に変換されたPDF文書を生成します。 ここで変換されたPDFは、変換前のPDFが持っている、リンク(内部やWebなど)やしおりその他の情報がコピーされます。また、それら情報コピーの抑制もできます。
 ここでは、Pdf2PdfImgNET.dllを使って処理します。
using System;
using Pdftools.Pdf;
using Pdftools.Pdf2PdfImg;

namespace pdf
{
    class Program
    {
        static void Main(string[] args)
        {
            //インスタンス生成
            Pdf2PdfImg conv = new Pdf2PdfImg();

            // ライセンス
            // ライセンスマネージャを利用しない場合に有効にします。
            Pdf2PdfImg.SetLicenseKey("ライセンスキー");   //適切なライセンスキーに替えてください。

            // 回転
            // 従来のレンダリング・エンジンの場合に有効にします。
            conv.RotateMode = PDFRotateMode.eRotateAttribute;

            //変換
            conv.ConvertFile("input.pdf", "output.pdf","");
        }
    }
}
Pdf2PdfImg() インスタンスを生成
Pdf2PdfImg.SetLicenseKey() ライセンス・キー指定
ライセンスマネージャではなく、プログラムで指定します。引数には、適切なライセンスキーを指定します。
RotateMode ページの回転モードを指定
新しいレンダリング・エンジンを使う場合は、PDFRotateMode.eRotateAttribute が既定値です。
回転モード
PDFRotateMode.eRotateNonePDF文書の回転指定を無視します。
(従来レンダリング・エンジンの既定値)
PDFRotateMode.eRotateAttributePDF文書での指定に従います。
(新しい レンダリング・エンジンの既定値)
PDFRotateMode.eRotatePortrait縦置きにします。
PDFRotateMode.eRotateLandscape横置きにします。
ConvertFile() 入力のPDFを開き、すべてのページをラスター形式画像のPDFにしたPDFを生成します。
第一引数入力(変換前)のPDFファイル名 (インターネット上のPDFファイルを指定する場合
第二引数出力(変換後)のPDFファイル名
第三引数入力PDFデータの暗号化パスワード
暗号化していない場合は、null(または空の文字列)を指定します。

ページを指定して、ラスタライズPDFに変換するサンプル(C#)と解説

 PDF文書の特定ページをラスター画像に変換して、テキストやベクター画像などを取り出せなくします。
 ページを指定して、ラスタライズ画像のPDF文書に変換するサンプル・コードです。 PDFの指定したページが画像に変換されたPDF文書を生成します。 ここで変換されたPDFは、変換前のPDFが持っている、リンク(内部やWebなど)やしおりその他の情報がコピーされます。また、それら情報コピーの抑制もできます。
 ここでも、Pdf2PdfImgNET.dllを使います。
using System;
using Pdftools.Pdf;
using Pdftools.Pdf2PdfImg;

namespace pdf2
{
    class Program
    {
        static void Main(string[] args)
        {
            //インスタンス生成
            Pdf2PdfImg conv = new Pdf2PdfImg();

            // ライセンス
            // ライセンスマネージャを利用しない場合に有効にします。
            Pdf2PdfImg.SetLicenseKey("ライセンスキー");   //適切なライセンスキーに替えてください。

            // 回転
            // 従来のレンダリング・エンジンの場合に有効にします。
            conv.RotateMode = PDFRotateMode.eRotateAttribute;

            //入力のPDF
            if (!conv.Open("input.pdf", ""))
            {
                Console.WriteLine("入力ファイル\"input.pdf\"を開けません");
                Environment.Exit(1);
            }

            //出力の画像
            if (!conv.CreateImage("output.pdf", null, null, (PDFPermission)(-1), 0))
            {
                Console.WriteLine("出力ファイル\"output.jpg\"を開けません");
                Environment.Exit(2);
            }

            //ページを指定して変換
            int pages = conv.PageCount;
            for (int iPage = 1; iPage <= pages; iPage++)
            {
                conv.RenderPage(iPage);
            }
        }
    }
}
Pdf2PdfImg() インスタンスを生成
Pdf2PdfImg.SetLicenseKey() ライセンス・キー指定
ライセンスマネージャではなく、プログラムで指定します。引数には、適切なライセンスキーを指定します。
RotateMode ページの回転モードを指定
新しいレンダリング・エンジンを使う場合は、PDFRotateMode.eRotateAttribute が既定値です。
回転モード
PDFRotateMode.eRotateNonePDF文書の回転指定を無視します。
(従来レンダリング・エンジンの既定値)
PDFRotateMode.eRotateAttributePDF文書での指定に従います。
(新しい レンダリング・エンジンの既定値)
PDFRotateMode.eRotatePortrait縦置きにします。
PDFRotateMode.eRotateLandscape横置きにします。
Open() 入力のPDFを開きます。
第一引数入力(変換前)のPDFファイル名 (インターネット上のPDFファイルを指定する場合
第二引数入力PDFデータの暗号化パスワード
暗号化していない場合は、null(または空の文字列)を指定します。
CreateImage() 出力のPDFを生成します。
第一引数出力(変換後)のPDFファイル名
第二引数出力PDFデータの(暗号化)ユーザーパスワード
暗号化しない場合は、空の文字列を指定します。
第三引数出力PDFデータの(暗号化)オーナーパスワード
暗号化しない場合は、空の文字列を指定します。
第四引数出力PDFデータのパーミッション(許可)フラグ
すべて許可する場合は-1とします。以下の値を指定できます。
設定値内容
ePermPrint低解像度印刷
ePermModify文書の変更
ePermCopy内容のコピーまたは取り出し
ePermAnnotate注釈
ePermFillFormsフォームへの入力
ePermAssemble文書アセンブリ
ePermDigitalPrintディジタル印刷
第五引数暗号化の鍵長
8の倍数で40から128まで指定できます。
ただし、Adobe Acrobatがサポートしているのは40または128(Acrobat 5以上)です。
PageCount入力PDFのページ数を取得
RenderPage()入力PDFの指定ページを出力にコピー

サンプルコード

 C# PDF to Image サンプル (MS Visual Studio 2008 Project) P2I_Samples_v2.zip

ご質問、お問い合わせ

 メールで support@TrustSS.co.jp 宛てにお送りください。
または、質問のページからお送りいただくようお願いします。ご要望も承っております。(匿名で送れます。)

(記載の会社名および製品名は、各社の登録商標および商標です。)
PDF製品 C#サンプル
PDF Security
PDF Validator
PDF to PDF/A Converter
PDF to Image Converter
PDF Imager-LP
Image to PDF Converter
PDF Printer
PDF Viewer
PDF Viewer-L
PDF Prep Tool Suite
PDF Optimization
PDF Command Line Suite
PDF Extract
PDF Easy Parse
PDF Viewr サンプル
C++ サンプル
C# サンプル
画像に変換
単一画像に変換
複数ページ画像に変換
画像のPDFに変換
一般的なアプリケーション
VB6.0 サンプル
Java サンプル
コマンドライン サンプル
株)トラスト・ソフトウェア・システム
暗号化・電子署名・タイムスタンプ ライブラリ作成します。
お問い合わせください。