PDF to Image Converter(画像に変換) C++サンプル

PDF to Image Converter(画像に変換)

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

機能特徴
  • 単一または複数の画像を生成
  • 画像フォーマット:
    TIFF、JPEG、PNG、GIF、BMP、EPS、JBIG2、JPEG2000、Extended JPEG2000、PBM
  • PDF文書作成:
    ラスタライズ(画像化)されたPDF
  • PDF文書の復号と暗号化可能
  • 画像フィルター(エイリアスやモアレを低減):
    スーパーサンプリング、バイキュービック、バイリニア
  • 色空間:
    グレースケール、RGB、CMYK、インデックス
  • 解像度、色数 設定
  • 圧縮画像:
    JPEG(非可逆圧縮)、JPEG2000、JBG2(ロスレス圧縮可能)
  • 画質やサイズ(非可逆圧縮)の最適化
  • ハーフトーン(ディザ)方式:
    Floyd Steinberg、Halftone Block、Halftone Continuous、Atkinson)
  • 微細なテキスト文字の線幅を太くする
PDF to Image Converter 機能概要

C# サンプルC/C++ サンプル

他のサンプル(英文) - ダウンロードしたサンプルコードには評価用ライセンスキーが含まれます。

無償評価版(リンク先は英語)

価格見積り

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

ライブラリ(評価版API)は無償でダウンロードできます。
ファイルをダウンロードしてから適当なフォルダーに解凍してください。
以下のようなフォルダーができあがりますので、適宜ご利用ください。
binライブラリやライセンスマネージャーなど
doc使用説明書やjavadocなど
includeC/C++用のヘッダー(.h)ファイル
jar Pdf2ImgAPI.jar(Javaのラッパー)
libC/C++用のlibファイル
samples各種開発言語のサンプル
サンプルの実行前に参照設定などを行ってください。
無償評価版と共にダウンロードしたライセンスキーを bin/LicenseManager.exeを使って登録してください。

C/C++のサンプルと解説

PDF文書をJPEG画像ファイルに変換

PDF文書の各ページを画像品質80%のJPEG画像ファイルに変換するサンプルです。
サンプルではPDFのページごとに別名の画像ファイルを作成します。
解像度を指定し拡大・縮小できます。

このサンプルコード(評価ライセンスおよびライブラリを含む)をダウンロード 
#include <stdio.h>
#include <Windows.h>
#include "pdf2Imgapi_c.h"

int main()
{
    int iReturnValue = 0;

    // ライブラリの初期化
    Pdf2ImgInitialize();

    TCHAR* szInputPath = _T("input.pdf");
    TCHAR szOutputPath[MAX_PATH];
    _tcscpy_s(szOutputPath, MAX_PATH, _T("output.jpg"));
    int iQuality = 80;

    // 変換のオブジェクト生成
    TPdf2Img* pConverter = Pdf2ImgCreateObject();

    // 入力ファイルを開く
    if (!Pdf2ImgOpen(pConverter, szInputPath, _T("")))
    {
        _tprintf(_T("入力ファイル %s を開けません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // 画像品質指定
    Pdf2ImgSetImageQuality(pConverter, iQuality);

    // PDFの全ページをJPEGに変換
    for (int iPage = 1; iPage <= Pdf2ImgGetPageCount(pConverter); iPage++)
    {
        TCHAR szImagePath[MAX_PATH];
        TCHAR* context = NULL;

        // 出力ファイル名と拡張子作成
        _tcstok_s(szOutputPath, _T("."), &context);
        _stprintf_s(szImagePath, MAX_PATH, _T("%s%d.jpg"), szOutputPath, iPage);

        // JPEG画像ファイル生成
        if (!Pdf2ImgCreateImage(pConverter, szImagePath))
        {
            _tprintf(_T("出力画像 %s を生成できません。\n%s (エラー: 0x%08x).\n"), szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }

        // ページをJPEGにレンダリング
        if (!Pdf2ImgRenderPage(pConverter, iPage))
        {
            _tprintf(_T("PDF %s のページ %d をJPEG %s にレンダリングできません。\n%s (エラー: 0x%08x).\n"), szInputPath, iPage, szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }

        // 出力ファイルを閉じる
        if (!Pdf2ImgCloseImage(pConverter))
        {
            _tprintf(_T("出力ファイル %s を閉じられません。\n%s (エラー: 0x%08x).\n"), szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }
    }

    _tprintf(_T("終了\n"));

cleanup:
    Pdf2ImgClose(pConverter);
    Pdf2ImgDestroyObject(pConverter);
    Pdf2ImgUnInitialize();

    return iReturnValue;
}
Pdf2ImgInitialize()初期化
Pdf2ImgCreateObject()オブジェクト生成
Pdf2ImgOpen()入力ファイルを開く 暗号化されている場合は第三引数にパスワードを指定
Pdf2ImgSetImageQuality()JPEG画像の品質
Pdf2ImgGetPageCount()PDFのページ数取得
Pdf2ImgCreateImage()画像ファイルを作成
Pdf2ImgRenderPage()指定のページをレンダリング
Pdf2ImgCloseImage()出力ファイルを閉じる
Pdf2ImgClose()入力ファイルを閉じる
Pdf2ImgDestroyObject()オブジェクト解放
Pdf2ImgUnInitialize()終了

PDF文書をPNG画像ファイルに変換

PDF文書の各ページをPNG画像ファイルに変換するサンプルです。
サンプルではPDFの各ページを別名で画像ファイルに変換します。
PNG画像のデータ圧縮の指定、解像度の指定ができます。

このサンプルコード(評価ライセンスおよびライブラリを含む)をダウンロード 
#include <stdio.h>
#include <Windows.h>
#include "pdf2Imgapi_c.h"

int main()
{
    int iReturnValue = 0;

    // ライブラリの初期化
    Pdf2ImgInitialize();

    TCHAR* szInputPath = _T("input.pdf");
    TCHAR szOutputPath[MAX_PATH];
    _tcscpy_s(szOutputPath, MAX_PATH, _T("output.jpg"));
    int iQuality = 80;

    // 変換のオブジェクト生成
    TPdf2Img* pConverter = Pdf2ImgCreateObject();

    // 入力ファイルを開く
    if (!Pdf2ImgOpen(pConverter, szInputPath, _T("")))
    {
        _tprintf(_T("入力ファイル %s を開けません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // PDFの全ページをJPEGに変換
    for (int iPage = 1; iPage <= Pdf2ImgGetPageCount(pConverter); iPage++)
    {
        TCHAR szImagePath[MAX_PATH];
        TCHAR* context = NULL;

        // 出力ファイル名と拡張子作成
        _tcstok_s(szOutputPath, _T("."), &context);
        _stprintf_s(szImagePath, MAX_PATH, _T("%s%d.png"), szOutputPath, iPage);

        // PNG画像ファイル生成
        if (!Pdf2ImgCreateImage(pConverter, szImagePath))
        {
            _tprintf(_T("出力画像 %s を生成できません。\n%s (エラー: 0x%08x).\n"), szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }

        // ページをPNGにレンダリング
        if (!Pdf2ImgRenderPage(pConverter, iPage))
        {
            _tprintf(_T("PDF %s のページ %d をPNG %s にレンダリングできません。\n%s (エラー: 0x%08x).\n"), szInputPath, iPage, szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }

        // 出力ファイルを閉じる
        if (!Pdf2ImgCloseImage(pConverter))
        {
            _tprintf(_T("出力ファイル %s を閉じられません。\n%s (エラー: 0x%08x).\n"), szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }
    }

    _tprintf(_T("終了\n"));

cleanup:
    Pdf2ImgClose(pConverter);
    Pdf2ImgDestroyObject(pConverter);
    Pdf2ImgUnInitialize();

    return iReturnValue;
}
Pdf2ImgInitialize()初期化
Pdf2ImgCreateObject()オブジェクト生成
Pdf2ImgOpen()入力ファイルを開く 暗号化されている場合は第三引数にパスワードを指定
Pdf2ImgGetPageCount()PDFのページ数取得
Pdf2ImgCreateImage()画像ファイルを作成
Pdf2ImgRenderPage()指定のページをレンダリング
Pdf2ImgCloseImage()出力ファイルを閉じる
Pdf2ImgClose()入力ファイルを閉じる
Pdf2ImgDestroyObject()オブジェクト解放
Pdf2ImgUnInitialize()終了

PDF文書を複数ページTIFF画像ファイルに変換

PDF文書の全ページを複数ページTIFF画像ファイルに変換します。
サンプルではTIFF画像ファイルを1つだけ作成します。
TIFF画像のデータ圧縮指定、解像度の指定ができます。

このサンプルコード(評価ライセンスおよびライブラリを含む)をダウンロード 
#include <stdio.h>
#include <Windows.h>
#include "pdf2Imgapi_c.h"

int main()
{
    int iReturnValue = 0;

    // ライブラリの初期化
    Pdf2ImgInitialize();

    TCHAR* szInputPath = _T("input.pdf");
    TCHAR szOutputPath[MAX_PATH];
    _tcscpy_s(szOutputPath, MAX_PATH, _T("output.tif"));

    int iQuality = 80;
    TPDFCompression eCompression = eComprDefault;

    // 変換のオブジェクト生成
    TPdf2Img* pConverter = Pdf2ImgCreateObject();

    // 入力ファイルを開く
    if (!Pdf2ImgOpen(pConverter, szInputPath, _T("")))
    {
        _tprintf(_T("入力ファイル %s を開けません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // 出力ファイル名と拡張子作成
    TCHAR szImagePath[MAX_PATH];
    TCHAR* context = NULL;

    _tcstok_s(szOutputPath, _T("."), &context);
    _stprintf_s(szImagePath, MAX_PATH, _T("%s.tif"), szOutputPath);

    // TIFF画像の圧縮と品質を指定
    Pdf2ImgSetCompression(pConverter, eCompression);
    Pdf2ImgSetQuality(pConverter, iQuality);

    // 出力TIFF画像ファイル生成
    if (!Pdf2ImgCreateImage(pConverter, szImagePath))
    {
        _tprintf(_T("出力画像ファイル %s を生成できません。\n%s (エラー: 0x%08x).\n"), szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // PDFの全ページを複数ページTIFFに変換
    for (int iPage = 1; iPage <= Pdf2ImgGetPageCount(pConverter); iPage++)
    {
        // ページをTIFFにレンダリング
        if (!Pdf2ImgRenderPage(pConverter, iPage))
        {
            _tprintf(_T("PDF %s のページ %d をTIFF %s にレンダリングできません。\n%s (エラー: 0x%08x).\n"), szInputPath, iPage, szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }
    }

    // 出力ファイルを閉じる
    if (!Pdf2ImgCloseImage(pConverter))
    {
        _tprintf(_T("出力ファイル %s を閉じられません。\n%s (エラー: 0x%08x).\n"), szImagePath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    _tprintf(_T("終了\n"));

cleanup:
    Pdf2ImgClose(pConverter);
    Pdf2ImgDestroyObject(pConverter);
    Pdf2ImgUnInitialize();

    return iReturnValue;
}
Pdf2ImgInitialize()初期化
Pdf2ImgCreateObject()オブジェクト生成
Pdf2ImgOpen()入力ファイルを開く 暗号化されている場合は第三引数にパスワードを指定
Pdf2ImgSetCompression()TIFF圧縮指定
Pdf2ImgSetQuality()画像品質指定
Pdf2ImgCreateImage()画像ファイルを作成
Pdf2ImgGetPageCount()PDFのページ数取得
Pdf2ImgRenderPage()指定のページをレンダリング
Pdf2ImgCloseImage()出力ファイルを閉じる
Pdf2ImgClose()入力ファイルを閉じる
Pdf2ImgDestroyObject()オブジェクト解放
Pdf2ImgUnInitialize()終了

PDF文書をFAX画像ファイルに変換

PDF文書の全ページをCCITT G3/G4 FAX画像ファイルに変換するサンプルです。
サンプルでは二値化されたFax画像のファイルを生成します。
二値化のためのディザリング手法だけでなく、アンチエイリアスやページの回転などを詳細に設定できます。

このサンプルコード(評価ライセンスおよびライブラリを含む)をダウンロード 
#include <stdio.h>
#include <Windows.h>
#include "pdf2Imgapi_c.h"

int main()
{
    int iReturnValue = 0;

    // ライブラリの初期化
    Pdf2ImgInitialize();

    TCHAR* szInputPath = _T("input.pdf");
    TCHAR* szOutputPath = _T("output.tif");

    TPDFDitheringMode eDithering = eDitherFloydSteinberg;

    // 変換のオブジェクト生成
    TPdf2Img* pConverter = Pdf2ImgCreateObject();

    // 入力ファイルを開く
    if (!Pdf2ImgOpen(pConverter, szInputPath, _T("")))
    {
        _tprintf(_T("入力ファイル %s を開けません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // ディザ設定
    Pdf2ImgSetDithering(pConverter, eDithering);
    Pdf2ImgSetBitsPerPixel(pConverter, 1);

    Pdf2ImgSetFitPage(pConverter, 1);
    Pdf2ImgSetCenter(pConverter, 1);
    TPDFRendererOption2 renderOptions = Pdf2ImgGetOptions2(pConverter);
    renderOptions |= eOptionNoAntialiasing | eOptionUseBoxFilter | eOptionFitPaths;
    Pdf2ImgSetOptions2(pConverter, renderOptions);
    Pdf2ImgSetRotateMode(pConverter, eRotatePortrait);

    // TIFF FAXに設定
    Pdf2ImgFaxHSetting(pConverter);

    // 出力画像ファイル生成
    if (!Pdf2ImgCreateImage(pConverter, szOutputPath))
    {
        _tprintf(_T("出力画像ファイル %s を生成できません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // PDFの全ページを複数ページTIFFに変換
    for (int iPage = 1; iPage <= Pdf2ImgGetPageCount(pConverter); iPage++)
    {
        // ページをTIFFにレンダリング
        if (!Pdf2ImgRenderPage(pConverter, iPage))
        {
            _tprintf(_T("PDF %s のページ %d をTIFF %s にレンダリングできません。\n%s (エラー: 0x%08x).\n"), szInputPath, iPage, szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }
    }

    // 出力ファイルを閉じる
    if (!Pdf2ImgCloseImage(pConverter))
    {
        _tprintf(_T("出力ファイル %s を閉じられません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    _tprintf(_T("終了\n"));

cleanup:
    Pdf2ImgClose(pConverter);
    Pdf2ImgDestroyObject(pConverter);
    Pdf2ImgUnInitialize();

    return iReturnValue;
}
Pdf2ImgInitialize()初期化
Pdf2ImgCreateObject()オブジェクト生成
Pdf2ImgOpen()入力ファイルを開く 暗号化されている場合は第三引数にパスワードを指定
Pdf2ImgSetDithering()ディザ指定
Pdf2ImgSetBitsPerPixel()二値画像指定
Pdf2ImgFaxHSetting()TIFF Class F 指定
Pdf2ImgCreateImage()画像ファイルを作成
Pdf2ImgGetPageCount()PDFのページ数取得
Pdf2ImgRenderPage()指定のページをレンダリング
Pdf2ImgCloseImage()出力ファイルを閉じる
Pdf2ImgClose()入力ファイルを閉じる
Pdf2ImgDestroyObject()オブジェクト解放
Pdf2ImgUnInitialize()終了

PDF文書を画像データに変換

PDF文書の全ページを画像データに変換しますが、データはメモリ上に作成します。
このサンプルでは、説明のために入力のPDFファイルをメモリバッファに取り込み、そのデータを画像に変換します。
画像に変換されたデータは画像ファイルとして格納します。

このサンプルコード(評価ライセンスおよびライブラリを含む)をダウンロード 
#include <stdio.h>
#include <Windows.h>
#include "pdf2Imgapi_c.h"

int main()
{
    int iReturnValue = 0;

    // ライブラリの初期化
    Pdf2ImgInitialize();

    TCHAR* szInputPath = _T("input.pdf");
    TCHAR szOutputPath[MAX_PATH];
    _tcscpy_s(szOutputPath, MAX_PATH, _T("output.jpg"));

    // 拡張子を取得
    TCHAR szExtension[_MAX_EXT];
    TCHAR* szExt = _tcsrchr(szOutputPath, '.');
    if (szExt == NULL)
    {
        _tprintf(_T("No extension existing."));
        return 1;
    }
    else
        _tcscpy_s(szExtension, _MAX_EXT, szExt);

    // Read the file and write PDF to memory
    FILE* pStream;
    if (_tfopen_s(&pStream, szInputPath, _T("rb")))
    {
        _tprintf(_T("入力ファイル %s を開けません。\n"), szInputPath);
        return 1;
    }
    fseek(pStream, 0, SEEK_END);
    size_t nLength = ftell(pStream);
    void* pInputBuffer = malloc(nLength);
    fseek(pStream, 0, SEEK_SET);
    fread(pInputBuffer, 1, nLength, pStream);
    fclose(pStream);

    // 変換のオブジェクト生成
    TPdf2Img* pConverter = Pdf2ImgCreateObject();

    // 入力ファイルを開く
    if (!Pdf2ImgOpenMem(pConverter, pInputBuffer, nLength, _T("")))
    {
        _tprintf(_T("入力バッファを開けません。\n%s (エラー: 0x%08x).\n"), Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // PDFの全ページを画像に変換
    for (int iPage = 1; iPage <= Pdf2ImgGetPageCount(pConverter); iPage++)
    {
        TCHAR szImagePath[MAX_PATH];
        TCHAR* context = NULL;

        // 出力ファイル名と拡張子作成
        _tcstok_s(szOutputPath, _T("."), &context);
        _stprintf_s(szImagePath, MAX_PATH, _T("%s%d%s"), szOutputPath, iPage, szExtension);

        // 出力バッファ生成
        if (!Pdf2ImgCreateImageInMemory(pConverter, szExtension))
        {
            _tprintf(_T("出力バッファを生成できません。\n%s (エラー: 0x%08x).\n"), Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }

        // ページを画像にレンダリング
        if (!Pdf2ImgRenderPage(pConverter, iPage))
        {
            _tprintf(_T("PDF %s のページ %d を画像にレンダリングできません。\n%s (エラー: 0x%08x).\n"), szInputPath, iPage, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }

        // 画像データを取得
        TPDFByteArray* pOutputBuffer = Pdf2ImgGetImage(pConverter);

        // 出力ファイル作成
        FILE* pData;
        if (_tfopen_s(&pData, szImagePath, _T("wb")))
        {
            _tprintf(_T("出力ファイル %s 作成失敗\n"), szImagePath);
            iReturnValue = 1;
            goto cleanup;
        }

        // 出力ファイルに書き出す
        fwrite(pOutputBuffer->m_pData, pOutputBuffer->m_nLength, 1, pData);
        fclose(pData);
    }

    _tprintf(_T("終了\n"));

cleanup:
    if (pInputBuffer != NULL) free(pInputBuffer);
    if (pConverter != NULL)
    {
        Pdf2ImgClose(pConverter);
        Pdf2ImgDestroyObject(pConverter);
    }
    Pdf2ImgUnInitialize();

    return iReturnValue;
}
Pdf2ImgInitialize()初期化
Pdf2ImgCreateObject()オブジェクト生成
Pdf2ImgOpenMem()入力データを開く 暗号化されている場合は第三引数にパスワードを指定
Pdf2ImgGetPageCount()PDFのページ数取得
Pdf2ImgCreateImageInMemory()画像データバッファを作成
Pdf2ImgRenderPage()指定のページをレンダリング
Pdf2ImgGetImage()画像データを取得
Pdf2ImgClose()入力ファイルを閉じる
Pdf2ImgDestroyObject()オブジェクト解放
Pdf2ImgUnInitialize()終了

PDF文書を画像化PDFに変換

PDFの各ページをラスター画像に変換したPDFを生成します。
PDFから文書などの情報抽出が容易でなくなります。
#include <stdio.h>
#include <Windows.h>
#include "pdf2Imgapi_c.h"

int main()
{
    int iReturnValue = 0;

    // ライブラリの初期化
    Pdf2ImgInitialize();

    TCHAR* szInputPath = _T("input.pdf");
    TCHAR* szOutputPath = _T("output.pdf");

    // 変換のオブジェクト生成
    TPdf2Img* pConverter = Pdf2ImgCreateObject();

    // 入力ファイルを開く
    if (!Pdf2ImgOpen(pConverter, szInputPath, _T("")))
    {
        _tprintf(_T("入力ファイル %s を開けません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // 出力PDFファイル生成
    if (!Pdf2ImgCreateImage(pConverter, szOutputPath))
    {
        _tprintf(_T("出力画像ファイル %s を生成できません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    // PDFの全ページをPDFに変換
    for (int iPage = 1; iPage <= Pdf2ImgGetPageCount(pConverter); iPage++)
    {
        // ページをTIFFにレンダリング
        if (!Pdf2ImgRenderPage(pConverter, iPage))
        {
            _tprintf(_T("PDF %s のページ %d をTIFF %s にレンダリングできません。\n%s (エラー: 0x%08x).\n"), szInputPath, iPage, szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
            iReturnValue = 1;
            goto cleanup;
        }
    }

    // 出力ファイルを閉じる
    if (!Pdf2ImgCloseImage(pConverter))
    {
        _tprintf(_T("出力ファイル %s を閉じられません。\n%s (エラー: 0x%08x).\n"), szOutputPath, Pdf2ImgGetErrorMessage(pConverter), Pdf2ImgGetErrorCode(pConverter));
        iReturnValue = 1;
        goto cleanup;
    }

    _tprintf(_T("終了\n"));

cleanup:
    Pdf2ImgClose(pConverter);
    Pdf2ImgDestroyObject(pConverter);
    Pdf2ImgUnInitialize();

    return iReturnValue;
}
Pdf2ImgInitialize()初期化
Pdf2ImgCreateObject()オブジェクト生成
Pdf2ImgOpen()入力ファイルを開く 暗号化されている場合は第三引数にパスワードを指定
Pdf2ImgCreateImage()画像ファイルを作成
Pdf2ImgGetPageCount()PDFのページ数取得
Pdf2ImgRenderPage()指定のページをレンダリング
Pdf2ImgCloseImage()出力ファイルを閉じる
Pdf2ImgClose()入力ファイルを閉じる
Pdf2ImgDestroyObject()オブジェクト解放
Pdf2ImgUnInitialize()終了

インターネット(Web)上のPDF文書を直接変換する

PDF to Image Converterは、変換されるPDF文書を指定する際に、インターネット(Web)上のファイルを指定できます。
PDFファイルを指定する場合に、以下の形式で指定するとHTTPプロトコルでファイルにアクセスします。
http://[username:password@]domain[:port][/resource]
"username"および"password"は基本認証(Basic Authentication)のユーザー名とパスワード指定です。

サンプルでファイルを指定する際に以下のようにコードを変更すると、ネットワーク上のPDF文書を対象にします。
if (!Pdf2ImgOpen(pDocument, "http://www.pdf-tools.trustss.jp/data/Receipt2.pdf", ""))
{
 ...
}

サンプルコード

C/C++ PDF to Image 画像変換 サンプル(日本語)

PDF to Image 画像変換 サンプル(英語、評価ライセンスおよびライブラリを含む)

ご質問、お問い合わせ

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

PDF-Tools C++サンプル

PDF Toolsとは

PDF/Aとは