アイコン 株式会社トラスト・ソフトウェア・システム
電話:03-5316-3375info@trustss.co.jp
電話:03-5316-3375info@trustss.co.jp

開発者向けPDFライブラリ - Pdftools SDK

Convert Image to PDF (画像をPDFに変換)機能

画像をPDFに変換機能

一つ以上の単一ページ(または複数ページ)のPNG,JPEG,TIFFなどの画像をPDFに変換します。
画像の圧縮レベル、画像品質、解像度を選択して、PDFに変換する際の処理方法を指定できます。
ページ サイズ、領域、拡大縮小、画像の位置と方向など、出力PDFの書式を選択できます。
出力となるPDF準拠レベルを指定できます。属性、権限、代替テキストなどのドキュメント形式を追加指定できます。

価格見積もり

 NOTE:
この機能は「Pdftools SDK」ライブラリの一部です。
Pdftools SDKの全機能は無償で試用できます。

APIリファレンス

APIリファレンスはこちらです。(すべて英文)

画像をPDFに変換 機能


画像処理

ページ・レイアウト

PDF指定

サンプル

C#のサンプルプロジェクトではPdftools SDKライブラリ(DLL)をNuGetから自動でダウンロードします。
CのサンプルプロジェクトにはPdftools SDKライブラリ(DLL)が含まれています。

ライセンスキー無し(無償)で試用できます。ただし、結果に「透かし」が入ります。
「透かし」の削除をご希望の場合は問い合わせページまたはメールでお問い合わせください。

License Agreement(利用許諾契約書)が含まれていますので必ず確認してください。

画像をPDF文書に変換

画像をPDF文書に変換します。
ここでは変換プロファイルのデフォルト設定が使用されています。
変換プロファイルは画像の各ページをA4サイズ縦向きページに配置し各辺の余白2cmにします。


サンプル・プロジェクト(C)をダウンロード ReadMeを開く
サンプル・プロジェクト(C#)をダウンロード ReadMeを開く
サンプル・プロジェクト(Python)をダウンロード ReadMeを開く
サンプル・プロジェクトをダウンロード
サンプル・プロジェクトの実行手順を参照してください
// 入力画像ファイルを開く
pInStream = _tfopen(szInPath, _T("rb"));
GOTO_CLEANUP_IF_NULL_PRINT_ERROR(pInStream, _T("Failed to open the input file \"%s\" for reading.\n"), szInPath);
TPdfToolsSys_StreamDescriptor inDesc;
PdfToolsSysCreateFILEStreamDescriptor(&inDesc, pInStream, 0);
pInDoc = PdfToolsImage_Document_Open(&inDesc);
GOTO_CLEANUP_IF_NULL_PRINT_ERROR(
    pInDoc, _T("Failed to create a document from the input file \"%s\". %s (ErrorCode: 0x%08x).\n"), szInPath,
    szErrorBuff, PdfTools_GetLastError());

// 書き込み用の出力ストリームを生成
pOutStream = _tfopen(szOutPath, _T("wb+"));
GOTO_CLEANUP_IF_NULL_PRINT_ERROR(pOutStream, _T("Failed to open the output file \"%s\" for writing.\n"), szOutPath);
TPdfToolsSys_StreamDescriptor outDesc;
PdfToolsSysCreateFILEStreamDescriptor(&outDesc, pOutStream, 0);

// 変換パラメータを定義するプロファイルを生成
// 既定のプロファイルは画像をPDF文書に変換します
pProfile = (TPdfToolsImage2PdfProfiles_Profile*)PdfToolsImage2PdfProfiles_Default_New();

// 画像をPDF文書に変換
pConverter = PdfToolsImage2Pdf_Converter_New();
pOutDoc = (TPdfToolsPdf_Document*)PdfToolsImage2Pdf_Converter_Convert(pConverter, pInDoc, &outDesc, pProfile, NULL);
GOTO_CLEANUP_IF_NULL_PRINT_ERROR(pOutDoc, _T("The processing has failed. (ErrorCode: 0x%08x).\n"),
                                 PdfTools_GetLastError());
サンプル・プロジェクトの実行手順を参照してください
private static void Image2Pdf(string inPath, string outPath)
{
    // 入力画像ファイルを開く
    using var inStr = File.OpenRead(inPath);
    using var inDoc = Document.Open(inStr);

    // 変換パラメータを定義するプロファイルを生成
    // 既定のプロファイルは画像をPDF文書に変換します
    var profile = new Profiles.Default();

    // オプションで:変換プロセスの要件に応じてプロファイルのパラメータを変更できます

    // 出力ストリームを生成
    using var outStr = File.Create(outPath);

    // 画像をPDF文書に変換
    using var outDoc = new Converter().Convert(inDoc, outStr, profile);
}			
サンプル・プロジェクトの実行手順を参照してください
def convert_image_to_pdf(input_path: str, output_path: str):
    # 入力画像ファイルを開く
    with io.FileIO(input_path, 'rb') as in_stream:
        with Document.open(in_stream) as input_document:

            # 変換パラメータを定義するプロファイルを生成 (既定のプロファイル)
            # 既定のプロファイルは画像をPDF文書に変換します
            profile = Default()

            # オプションで:変換プロセスの要件に応じてプロファイルのパラメータを変更できます

            # 出力ストリームを生成
            with io.FileIO(output_path, 'wb+') as output_stream:

                # 画像をPDF文書に変換
                converter = Converter()
                converter.convert(input_document, output_stream, profile)			
# オプションで: 以下のようにプロキシを指定できます
# Sdk.set_proxy("http://myproxy:8080")

convert_image_to_pdf(input_path, output_path)			

画像をアクセシブルなPDF/A文書に変換

画像をアクセシブルなPDF/A-2a文書に変換します。
PDF/AレベルAの要件に従って画像に代替テキストを追加します。
このことで、支援技術を使用する障害のある方にもアクセシビリティを確保するサンプルです。


サンプル・プロジェクト(C#)をダウンロード ReadMeを開く
サンプル・プロジェクト(Python)をダウンロード ReadMeを開く
サンプル・プロジェクトをダウンロード
サンプル・プロジェクトの実行手順を参照してください
private static void Image2Pdf(string inPath, string alternateText, string outPath)
{
    // 画像ファイルをオープン
    using var inStr = File.OpenRead(inPath);
    using var inDoc = Document.Open(inStr);

    // 変換パラメータを定義するプロファイルを作成
    // Archiveプロファイルは、アーカイブ用に画像を PDF/A ドキュメントに変換します。
    var profile = new Profiles.Archive();

    // 出力ドキュメントの準拠をPDF/A-2aに設定
    profile.Conformance = new Conformance(2, Conformance.PdfALevel.A);

    // PDF/AレベルAの場合は画像の各ページに代替テキストが必要
    // これは他のPDF/A(PDF/A-2bなど)レベルではオプションです
    profile.Language = "en";
    profile.AlternateText.Add(alternateText);

    // オプションで:変換プロセスの要件に応じて他のプロファイル パラメータを変更することもできます。

    // 出力ストリームを生成
    using var outStr = File.Create(outPath);

    // 画像をタグ付きPDF/Aドキュメントに変換
    using var outDoc = new Converter().Convert(inDoc, outStr, profile);
}			
サンプル・プロジェクトの実行手順を参照してください
def image_to_pdf(input_path: str, alternate_text: str, output_path: str):
    # 画像ファイルをオープン
    with io.FileIO(input_path, 'rb') as image_stream:
        with Document.open(image_stream) as image_document:
            # 変換パラメータを定義するプロファイルを作成
            # Archiveプロファイルは、アーカイブ用に画像を PDF/A ドキュメントに変換します。
            profile = Archive()

            # 出力ドキュメントの準拠をPDF/A-2aに設定
            profile.conformance = Conformance.PDF_A2_A

            # PDF/AレベルAの場合は画像の各ページに代替テキストが必要
            # これは他のPDF/A(PDF/A-2bなど)レベルではオプションです
            profile.language = "en"
            profile.alternate_text.append(alternate_text)

            # オプションで、変換プロセスの要件に応じて他のプロファイル パラメータを変更することもできます。

            # 出力ストリームを生成
            with io.FileIO(output_path, 'wb+') as output_stream:
                # 画像をタグ付きPDF/Aドキュメントに変換
                converter = Converter()
                converter.convert(image_document, output_stream, profile)			
image_to_pdf(input_path, alternate_text, output_path)			

複数の画像をPDF文書に変換

複数の画像をPDF文書に変換します。
画像リストを単一のPDFに変換します。
サポートされている画像形式は、TIFF、JPEG、BMP、GIF、PNG、JBIG2、JPEG2000です。


サンプル・プロジェクト(C#)をダウンロード ReadMeを開く
サンプル・プロジェクト(Python)をダウンロード ReadMeを開く
サンプル・プロジェクトをダウンロード
サンプル・プロジェクトの実行手順を参照してください
private static void Images2Pdf(IEnumerable inPaths, string outPath)
{
    var streams = new List();
    var images = new DocumentList();
    try
    {
        // 入力画像を開いてリストに保存
        foreach (var inPath in inPaths)
        {
            var stream = File.OpenRead(inPath);
            streams.Add(stream);
            images.Add(Document.Open(stream));
        }

        // 変換パラメータを定義するプロファイルを生成
        var profile = new Profiles.Default();

        // オプションで:変換プロセスの要件に応じてプロファイルのパラメータを変更できます。

        // 出力ストリームを生成
        using var outStream = File.Create(outPath);
        using var outPdf = new Converter().ConvertMultiple(images, outStream, profile);
    }
    finally
    {
        foreach (var image in images)
            image.Dispose();
        foreach (var stream in streams)
            stream.Dispose();
    }
}			
サンプル・プロジェクトの実行手順を参照してください
def images_to_pdf(input_image_paths: list[str], output_file_path: str):
    try:
        stream_list = []
        images = ImageDocumentList()

        # 入力画像を開いてリストに保存
        for input_image_path in input_image_paths:
            image_stream = io.FileIO(input_image_path, 'rb')
            stream_list.append(image_stream)
            images.append(ImageDocument.open(image_stream))

        # 変換パラメータを定義するプロファイルを生成
        profile = Default()

        # オプションで:変換プロセスの要件に応じてプロファイルのパラメータを変更できます。

        # 出力ストリームを生成
        with io.FileIO(output_file_path, 'wb+') as output_stream:
            converter = Converter()
            converter.convert_multiple(images, output_stream, profile)
    finally:
        if 'images' in locals():
            for image in images:
                image.__exit__(None, None, None)
        if 'stream_list' in locals(): 
            for stream in stream_list:
                stream.__exit__(None, None, None)			
images_to_pdf(input_image_paths, output_file_path)			

他の機能サンプルを参照してください。

お問い合わせ、ご質問、技術サポート

質問のページからお送りいただくようお願いします。
または、メールでsupport@trustss.co.jpあてにお送りください。


ご購入前の技術的質問も無償で対応します。サポート受付ページからお願いします。

> PDF Structure (PDF構成)

> PDF Imager-LP (画像化)

> PDF Stamper (電子印鑑)

> Pdftools SDK

- サンプル・コード
- Pdftools SDKサンプルの利用手順
- Toolbox Add-on
- Toolbox Add-onサンプルの利用手順
> Pdftools SDK APIリファレンス
- その他のAPI及びコマンドラインツール
> PDF SDK オープンソースと有償ライブラリ