Image to PDF Converter(画像をPDF変換) サンプル・ソースコード
画像を PDF に変換 概要
「Image to PDF Converter」ソフトは、PDF文書を画像に変換するツールです。
価格見積り
価格見積り
機能
- 単一または複数ページのラスター画像をPDFに変換
- 出力の形式と適合する規格(PDF、PDF/A-1、PDF/A-2)を指定
- 画像の種類(モノクロ、グレースケールまたはカラーやインデックスの画像)それぞれ個別の圧縮方式を設定
- ミックスト・ラスター・コンテント(MRC)をサポート
- ページのサイズと切り取りを指定
- 位置(センターリング)と縮尺設定
- 暗号化、許可フラグ設定
- カラープロファイルの埋め込みと選択
- XMPメタデータ 埋め込み
- タイトルや作成者といった文書プロパティ指定
- ラスター画像を別の形式のラスタ画像(PDFではなく)に変換
- Web閲覧用にリニアライズ
- 変換のためのページ範囲指定
- 向きを指定
- 画像のコーデック情報を読み出します。
無償評価版のダウンロードとインストール
C#開発環境 | C/C++開発環境 |
1.Zipファイルをダウンロードする場合
ライブラリ(評価版API)は無償でダウンロードできます。
ファイルをダウンロードしてから適当なフォルダーに解凍してください。
以下のようなフォルダーができあがりますので、適宜ご利用ください。
サンプルの実行前に参照設定などを行ってください。
無償評価版と共にダウンロードしたライセンスキーを bin/LicenseManager.exeを使って登録してください。
ファイルをダウンロードしてから適当なフォルダーに解凍してください。
以下のようなフォルダーができあがりますので、適宜ご利用ください。
bin | ライブラリやライセンスマネージャーなど |
doc | 使用説明書やjavadocなど |
include | C/C++用のヘッダー(.h)ファイル |
jar | I2P.jar(Javaのラッパー) |
lib | C/C++用のlibファイル |
samples | 各種開発言語のサンプル |
無償評価版と共にダウンロードしたライセンスキーを bin/LicenseManager.exeを使って登録してください。
2.NuGetでインストールする場合
nuget.org から PdfTools.Imge2Pdf をインストールします。
NuGetでのインストール手順
この場合は参照設定などの必要はありません。
評価用ライセンスキーは 以下のソースコードまたは、こちら から取得してください。
NuGetでのインストール手順
この場合は参照設定などの必要はありません。
評価用ライセンスキーは 以下のソースコードまたは、こちら から取得してください。
C#開発環境 | C/C++開発環境 |
ライブラリ(評価版API)は無償でダウンロードできます。
ファイルをダウンロードしてから適当なフォルダーに解凍してください。
以下のようなフォルダーができあがりますので、適宜ご利用ください。
サンプルの実行前に参照設定などを行ってください。
無償評価版と共にダウンロードしたライセンスキーを bin/LicenseManager.exeを使って登録してください。
ファイルをダウンロードしてから適当なフォルダーに解凍してください。
以下のようなフォルダーができあがりますので、適宜ご利用ください。
bin | ライブラリやライセンスマネージャーなど |
doc | 使用説明書やjavadocなど |
include | C/C++用のヘッダー(.h)ファイル |
jar | I2P.jar(Javaのラッパー) |
lib | C/C++用のlibファイル |
samples | 各種開発言語のサンプル |
無償評価版と共にダウンロードしたライセンスキーを bin/LicenseManager.exeを使って登録してください。
画像をPDF/Aに変換(PDF規格を指定)
画像をPDF/A-1aに変換するサンプルです。
別の規格を指定することができます。
別の規格を指定することができます。
C# | C/C++ | ダウンロード |
// Converter生成 pConverter = Img2PdfCreateObject(); // PDF規格を設定 Img2PdfSetCompliance(pConverter, eCompliance); // 出力ファイルを生成 if (!Img2PdfCreate(pConverter, szOutPath, _T(""), _T(""), ePermNoEncryption)) { _tprintf(_T("出力ファイル %s を生成できません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 入力画像をPDFのページに変換 if (!Img2PdfCreatePageFromImage(pConverter, szInPath)) { _tprintf(_T("入力画像 %s をPDFのページとして生成できません。 %s (エラーコード: 0x%08x).\n"), szInPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 出力ファイルをクローズ if (!Img2PdfClose(pConverter)) { _tprintf(_T("出力ファイル %s をクローズできません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; }
C# | C/C++ | ダウンロード |
// Converter生成 using (Img2Pdf converter = new Img2Pdf()) { // PDF規格を設定 converter.Compliance = compliance; // 出力ファイルを生成 if (!converter.Create(outPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("出力ファイル {0} を生成できません。 {1} "+ "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); // 入力画像をPDFのページに変換 if (!converter.CreatePageFromImage(inPath)) throw new Exception(String.Format("入力画像 {0} をPDFのページとして生成できません。 " + "{1} (エラーコード: 0x{2:x})", inPath, converter.ErrorMessage, converter.ErrorCode)); // 出力ファイルをクローズ if (!converter.Close()) throw new Exception(String.Format("出力ファイル {0} をクローズできません。 " + "{1} (エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); }
画像をPDF文書に変換し、メタデータを埋め込む
JPEG画像をPDF文書に変換し、XMPメタデータを追加します。
メタデータには、作成者やタイトルなどが記します。
メタデータには、作成者やタイトルなどが記します。
C# | C/C++ | ダウンロード |
// Converter生成 pConverter = Img2PdfCreateObject(); // 出力ファイルを生成 if (!Img2PdfCreate(pConverter, szOutPath, _T(""), _T(""), ePermNoEncryption)) { _tprintf(_T("出力ファイル %s を生成できません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // XMPメタデータを設定 Img2PdfSetMetadata(pConverter, szMetaFile); // 入力画像をPDFのページに変換 if (!Img2PdfCreatePageFromImage(pConverter, szInPath)) { _tprintf(_T("入力画像 %s をPDFのページとして生成できません。 %s (エラーコード: 0x%08x).\n"), szInPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 出力ファイルをクローズ if (!Img2PdfClose(pConverter)) { _tprintf(_T("出力ファイル %s をクローズできません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; }
C# | C/C++ | ダウンロード |
// Converter生成 using (Img2Pdf converter = new Img2Pdf()) { // 出力ファイルを生成 if (!converter.Create(outPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("出力ファイル {0} を生成できません。 {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); // XMPメタデータを設定 converter.SetMetadata(metaFile); // 入力画像をPDFのページに変換 if (!converter.CreatePageFromImage(inPath)) throw new Exception(String.Format("入力画像 {0} をPDFのページとして生成できません。 " + "{1} (エラーコード: 0x{2:x})", inPath, converter.ErrorMessage, converter.ErrorCode)); // 出力ファイルをクローズ if (!converter.Close()) throw new Exception(String.Format("出力ファイル {0} をクローズできません。 " + "{1} (エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); }
画像をPDF文書に変換(圧縮手順指定)
画像をPDF文書に変換するサンプルです。
カラー画像やグレースケール画像の圧縮手順を指定します。非可逆圧縮の際は画像品質を指定できます。
カラー画像やグレースケール画像の圧縮手順を指定します。非可逆圧縮の際は画像品質を指定できます。
C# | C/C++ | ダウンロード |
// Converter生成 pConverter = Img2PdfCreateObject(); // 出力ファイルを生成 if (!Img2PdfCreate(pConverter, szOutPath, _T(""), _T(""), ePermNoEncryption)) { _tprintf(_T("出力ファイル %s を生成できません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 圧縮手順を設定 Img2PdfSetContinuousCompression(pConverter, eCompression); // 画像品質を設定 Img2PdfSetImageQuality(pConverter, iQuality); // 入力画像をPDFのページに変換 if (!Img2PdfCreatePageFromImage(pConverter, szInPath)) { _tprintf(_T("入力画像 %s をPDFのページとして生成できません。 %s (エラーコード: 0x%08x).\n"), szInPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 出力ファイルをクローズ if (!Img2PdfClose(pConverter)) { _tprintf(_T("出力ファイル %s をクローズできません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; }
C# | C/C++ | ダウンロード |
// Converter生成 using (Img2Pdf converter = new Img2Pdf()) { // 出力ファイルを生成 if (!converter.Create(outPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("出力ファイル {0} を生成できません。 {1}" + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); // 圧縮手順を設定 converter.ContinuousCompression = compression; // 画像品質を設定 converter.ImageQuality = quality; // 入力画像をPDFのページに変換 if (!converter.CreatePageFromImage(inPath)) throw new Exception(String.Format("入力画像 {0} をPDFのページとして生成できません。 " + "{1} (エラーコード: 0x{2:x})", inPath, converter.ErrorMessage, converter.ErrorCode)); // 出力ファイルをクローズ if (!converter.Close()) throw new Exception(String.Format("出力ファイル {0} をクローズできません。 {1}" + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); }
画像を暗号化されたPDF文書に変換
画像を暗号化されたPDF文書に変換するサンプルです。
PDF文書を不正にアクセスできないように(ユーザーまたはオーナー)パスワードで暗号化します。ユーザーパスワードは文書の開き方や印刷を制限し、オーナーパスワードは不正なアクセスを禁止します。
PDF文書を不正にアクセスできないように(ユーザーまたはオーナー)パスワードで暗号化します。ユーザーパスワードは文書の開き方や印刷を制限し、オーナーパスワードは不正なアクセスを禁止します。
C# | C/C++ | ダウンロード |
// Converter生成 pConverter = Img2PdfCreateObject(); // 出力ファイルを生成 if (!Img2PdfCreate(pConverter, szOutPath, szUserPW, szOwnerPW, ePermDigitalPrint | ePermPrint)) { _tprintf(_T("出力ファイル %s を生成できません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 入力画像をPDFのページに変換 if (!Img2PdfCreatePageFromImage(pConverter, szInPath)) { _tprintf(_T("入力画像 %s をPDFのページとして生成できません。 %s (エラーコード: 0x%08x).\n"), szInPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 出力ファイルをクローズ if (!Img2PdfClose(pConverter)) { _tprintf(_T("出力ファイル %s をクローズできません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; }
C# | C/C++ | ダウンロード |
// Converter生成 using (Img2Pdf converter = new Img2Pdf()) { // 出力ファイルを生成 if (!converter.Create(outPath, userPW, ownerPW, PDFPermission.ePermDigitalPrint | PDFPermission.ePermPrint)) throw new Exception(String.Format("出力ファイル {0} を生成できません。 {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); // 入力画像をPDFのページに変換 if (!converter.CreatePageFromImage(inPath)) throw new Exception(String.Format("入力画像 {0} をPDFのページとして生成できません。 " + "{1} (エラーコード: 0x{2:x})", inPath, converter.ErrorMessage, converter.ErrorCode)); // 出力ファイルをクローズ if (!converter.Close()) throw new Exception(String.Format("出力ファイル {0} をクローズできません。 {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); }
画像を文書情報を加えたPDF文書に変換
画像を文書情報(文書タイトル、作成者、作成アプリケーションなどの情報)が追加されたPDF文書に変換するサンプルです。
C# | C/C++ | ダウンロード |
// Converter生成 pConverter = Img2PdfCreateObject(); // 出力ファイルを生成 if (!Img2PdfCreate(pConverter, szOutPath, _T(""), _T(""), ePermNoEncryption)) { _tprintf(_T("出力ファイル %s を生成できません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 文書情報ディクショナリを設定 Img2PdfSetInfoEntry(pConverter, _T("Title"), _T("Your Title")); Img2PdfSetInfoEntry(pConverter, _T("Author"), _T("Your Author")); Img2PdfSetInfoEntry(pConverter, _T("Creator"), _T("Your Creator")); Img2PdfSetInfoEntry(pConverter, _T("Subject"), _T("Your Subject")); Img2PdfSetInfoEntry(pConverter, _T("Producer"), _T("Your Producer")); // 入力画像をPDFのページに変換 if (!Img2PdfCreatePageFromImage(pConverter, szInPath)) { _tprintf(_T("入力画像 %s をPDFのページとして生成できません。 %s (エラーコード: 0x%08x).\n"), szInPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 出力ファイルをクローズ if (!Img2PdfClose(pConverter)) { _tprintf(_T("出力ファイル %s をクローズできません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; }
C# | C/C++ | ダウンロード |
// Converter生成 using (Img2Pdf converter = new Img2Pdf()) { // 出力ファイルを生成 if (!converter.Create(outPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("出力ファイル {0} を生成できません。 {1}" + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); // 文書情報ディクショナリを設定 converter.SetInfoEntry("Title", "Your Title"); converter.SetInfoEntry("Author", "Your Author"); converter.SetInfoEntry("Creator", "Your Creator"); converter.SetInfoEntry("Subject", "Your Subject"); converter.SetInfoEntry("Producer", "Your Producer"); // 入力画像をPDFのページに変換 if (!converter.CreatePageFromImage(inPath)) throw new Exception(String.Format("入力画像 {0} をPDFのページとして生成できません。 {1}" + "(エラーコード: 0x{2:x})", inPath, converter.ErrorMessage, converter.ErrorCode)); // 出力ファイルをクローズ if (!converter.Close()) throw new Exception(String.Format("出力ファイル {0} をクローズできません。 {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); }
画像をリニアライズされたPDF文書に変換
画像をリニアライズ(Webで素早く表示できるように最適化)されたPDF文書に変換するサンプルです。
リニアライズは2ページ以上のPDF文書で有効です。
リニアライズは2ページ以上のPDF文書で有効です。
C# | C/C++ | ダウンロード |
// Converter生成 pConverter = Img2PdfCreateObject(); // リニアライズ設定 Img2PdfSetLinearize(pConverter, true); // 出力ファイルを生成 if (!Img2PdfCreate(pConverter, szOutPath, _T(""), _T(""), ePermNoEncryption)) { _tprintf(_T("出力ファイル %s を生成できません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 入力画像をPDFのページに変換 if (!Img2PdfCreatePageFromImage(pConverter, szInPath)) { _tprintf(_T("入力画像 %s をPDFのページとして生成できません。 %s (エラーコード: 0x%08x).\n"), szInPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 出力ファイルをクローズ if (!Img2PdfClose(pConverter)) { _tprintf(_T("出力ファイル %s をクローズできません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; }
C# | C/C++ | ダウンロード |
// Converter生成 using (Img2Pdf converter = new Img2Pdf()) { // リニアライズ設定 converter.Linearize = true; // 出力ファイルを生成 if (!converter.Create(outPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("出力ファイル {0} を生成できません {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); // 入力画像をPDFのページに変換 if (!converter.CreatePageFromImage(inPath)) throw new Exception(String.Format("入力画像 {0} をPDFのページとして生成できません。 {1}" + "(エラーコード: 0x{2:x})", inPath, converter.ErrorMessage, converter.ErrorCode)); // 出力ファイルをクローズ if (!converter.Close()) throw new Exception(String.Format("出力ファイル {0} をクローズできません。 {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); }
指定して画像を指定ページサイズのPDF文書に変換
画像を指定されたページサイズのPDF文書に変換するサンプルです。
PDF文書の各ページサイズはPageディクショナリに記載されます。
PDF文書の各ページサイズはPageディクショナリに記載されます。
C# | C/C++ | ダウンロード |
// Converter生成 pConverter = Img2PdfCreateObject(); // PDF文書のページサイズ設定 Img2PdfSetPageSize(pConverter, fWidth, fHeight); // 出力ファイルを生成 if (!Img2PdfCreate(pConverter, szOutPath, _T(""), _T(""), ePermNoEncryption)) { _tprintf(_T("出力ファイル %s を生成できません。 %s (エラーコード: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 入力画像をPDFのページに変換 if (!Img2PdfCreatePageFromImage(pConverter, szInPath)) { _tprintf(_T("入力画像 %s をPDFのページとして生成できません。 %s (エラーコード: 0x%08x).\n"), szInPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; } // 出力ファイルをクローズ if (!Img2PdfClose(pConverter)) { _tprintf(_T("出力ファイル %s をクローズできません。 %s (ErrorCode: 0x%08x).\n"), szOutPath, Img2PdfGetErrorMessage(pConverter), Img2PdfGetErrorCode(pConverter)); iReturnValue = 1; goto cleanup; }
C# | C/C++ | ダウンロード |
// Converter生成 using (Img2Pdf converter = new Img2Pdf()) { // PDF文書のページサイズ設定 converter.SetPageSize(width, height); // 出力ファイルを生成 if (!converter.Create(outPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("出力ファイル {0} を生成できません。 {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); // 入力画像をPDFのページに変換 if (!converter.CreatePageFromImage(inPath)) throw new Exception(String.Format("入力画像 {0} をPDFのページとして生成できません。 " + "{1} (エラーコード: 0x{2:x})", inPath, converter.ErrorMessage, converter.ErrorCode)); // 出力ファイルをクローズ if (!converter.Close()) throw new Exception(String.Format("出力ファイル {0} をクローズできません。 {1} " + "(エラーコード: 0x{2:x})", outPath, converter.ErrorMessage, converter.ErrorCode)); }