PDF Imager-LP フォントを代替して画像変換 C++サンプル

PDF Imager-LP フォントを代替して画像変換する C++サンプル

PDF Imager-LPは、PDF文書を画像(TIFF、JPEG、PNG)に変換するライブラリで、機能を限定した廉価版です。 (PDF Imager-LP概要はこちらです。)
今すぐ購入 (価格)

他の開発言語サンプル: C#のサンプル VB.NETのサンプル

ここでは、PDFの指定したページを画像に変換するサンプルを示します。他のサンプルは以下を参照してください。

ダウンロード:
PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾契約書をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要ですので一緒にダウンロードしてください。


高機能な、画像変換ライブラリ「PDF to Image Converter」は、こちらです。

インストール

ライブラリは無償でダウンロードおよび試用できます。ダウンロードしてから、適当なフォルダーに解凍してください。以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/C++言語、C#/VB.NET言語 および、VB6.0サンプル
サンプル実行前に、lib/PdfImagerLP.dllをサンプルの実行ファイルがあるフォルダーにコピーしてください。

フォントを代替して画像に変換するC++サンプルコード

フォントが埋め込まれていないPDFを画像に変換する際、PDF指定フォントを別のフォントで代替するC++のサンプルコードです。 (C#サンプルはこちら)
PDFに埋め込まれたフォントを別のフォントで代替するサンプルはこちらです。

以下のPDF文書の明朝フォントをゴシックフォントに替えて変換(結果はこちら)します。
オリジナルPDF

#include "ImagerLp.h"
#pragma comment(lib, "PdfImagerLP.lib")

int main(int argc, char* argv[])
{
    //初期化
    if(MlpInitialize("ライセンスキー")){
        printf("ライセンスキーが不正です。正しいライセンスキーを使用してください。");
        return 1;
    }

    //初期化ファイル(省略可)
    //MlpSetAlternateFont関数で直接の指定も可能
    if(MlpLoadInitFile("init.xml")){
        printf("初期化ファイルエラーです。");
        return 2;
    }

    //フォントの代替
    //初期化ファイルでの指定も可能です
    MlpSetAlternateFont("MS-PMincho", "MS Pゴシック", 1);

    //PDF文書オープン
    if(MlpOpenDoc("ファイル.pdf", NULL, NULL)){
        printf("PDFファイルをオープンできません。");
        return 3;
    }

    //画像作成
    MlpCreatePict(1, "ファイル.jpg");  //最初のページを画像に変換

    //文書クローズ
    MlpCloseDoc();

    //後始末
    MlpUninitialize();

    return 0;
}
MlpInitialize 初期化
引数にライセンスキーを指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
MlpLoadInitFile 初期データを指定
代替するフォントを記述したXMLファイルを指定できます。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
以下は、「MS-PMincho」フォントを「MS Pゴシック」に代替するためのXMLデータ具体例です。
<?xml version="1.0" encoding="shift_jis" ?>
<init>
 <fonts>
  <font org="MS-PMincho" alt="MS Pゴシック" always="true"/>
 </fonts>
</init>
MlpSetAlternateFont  PDFのフォントを代替
PDF文書に指定されたフォント名と代替するフォント名を指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数:PDF文書に指定されたフォント名
第二引数:代替するフォント名
第三引数:0を指定すると第一引数で指定したフォントがシステムにインストールされている場合はそのフォントで画像に変換します。
1を指定すると第一引数に指定したフォントがシステムにインストールされている場合でも第二引数に指定したフォントを使って画像に変換します。
第一引数PDF文書に指定されたフォント名
第二引数代替するフォント名
第三引数0を指定すと第一引数で指定したフォントがシステムにインストールされている場合はそのフォントで画像に変換します。
1を指定すると第一引数に指定したフォントがシステムにインストールされている場合でも第二引数に指定したフォントを使って画像に変換します。
MlpOpenDoc PDFファイルを開く
指定したファイルが画像への変換対象になります。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数:PDFファイル名
第二引数:オーナーパスワード(パスワードで暗号化されている場合)、またはNULL
第三引数:ユーザーパスワード(パスワードで暗号化されている場合)、またはNULL
第一引数PDFファイル名
第二引数オーナーパスワード(パスワードで暗号化されている場合)、またはNULL
第三引数ユーザーパスワード(パスワードで暗号化されている場合)、またはNULL
MlpCreatePict 指定されたページを画像に変換します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数は以下を指定します。
第一引数:PDF文書のページ番号(最初のページは1と指定します。)
第二引数:結果を格納するファイル名を指定します。指定された拡張子によって画像形式が次のように選択されます。
.png:PNG形式、.jpegまたは.jpg:JPEG形式、.tiffまたは.tif:TIFF形式
第一引数PDF文書のページ番号(最初のページは1と指定します。)
第二引数結果を格納するファイル名を指定します。指定された拡張子によって画像形式が以下のように選択されます。
拡張子画像形式
.pngPNG(Porable Network Graphics)形式
.jpegまたは.jpgJPEG(Joint Photographic Experts Group)形式
.tiffまたは.tifTIFF(Tagged Image File Format)形式
MlpCloseDoc開いたPDFファイルを閉じます。
MlpUninitialize 終了します。
変換結果:明朝フォントをゴシックフォントに代替
変換結果
入力のPDF文書はこちらです。

画像への変換時に埋め込みフォントを代替するC++サンプルコード

フォントがPDF文書に埋め込まれている場合でも、そのフォントを別のフォントで代替して画像に変換するC++のサンプルコードです。 (C#サンプルはこちら)

以下のPDF文書のメイリオフォント(サロゲートペア文字)を明朝フォントに替えて変換(結果はこちら)します。

#include "ImagerLp.h"
#pragma comment(lib, "PdfImagerLP.lib")

int main(int argc, char* argv[])
{
    //初期化
    if(MlpInitialize("ライセンスキー")){
        printf("ライセンスキーが不正です。正しいライセンスキーを使用してください。");
        return 1;
    }

    //初期化ファイル(省略可)
    if(MlpLoadInitFile("init.xml")){
        printf("初期化ファイルエラーです。");
        return 2;
    }

    //フォントの代替
    //初期化ファイルでの指定も可能
    MlpSetAlternateFont2("Meiryo", "MS 明朝", "", "", 1, 1);

    //PDF文書オープン
    if(MlpOpenDoc("ファイル.pdf", NULL, NULL)){
        printf("PDFファイルをオープンできません。");
        return 3;
    }

    //画像作成
    MlpCreatePict(1, "out.jpg");  //最初のページを画像に変換

    //文書クローズ
    MlpCloseDoc();

    //後始末
    MlpUninitialize();

    return 0;
}
MlpSetAlternateFont2 PDFのフォントを代替
PDF文書に指定されたフォント名と代替するフォント名を指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数:PDF文書に指定されたフォント名
第二引数:代替するフォント名
第三引数:代替するフォントの太さ(boldなど)
第四引数:代替するフォントのスタイル(italicなど)
第五引数:0を指定すると第一引数で指定したフォントがシステムにインストールされている場合はそのフォントで画像に変換します。
1を指定すると第一引数に指定したフォントがシステムにインストールされている場合でも第二引数に指定したフォントを使って画像に変換します。
第六引数:0を指定すると第一引数で指定したフォントがPDF文書に埋め込まれている場合はそのフォントを使って画像に変換します。
1を指定すると第一引数に指定したフォントがPDF文書に埋め込まれている場合でも第二引数に指定したフォントを使って画像に変換します。
第一引数PDF文書に指定されたフォント名
第二引数代替するフォント名
第三引数代替するフォントの太さ(boldなど)
第四引数代替するフォントのスタイル(italicなど)
第五引数0を指定すると第一引数で指定したフォントがシステムにインストールされている場合はそのフォントで画像に変換します。
1を指定すると第一引数に指定したフォントがシステムにインストールされている場合でも第二引数に指定したフォントを使って画像に変換します。
第六引数0を指定すると第一引数で指定したフォントがPDF文書に埋め込まれている場合はそのフォントを使って画像に変換します。
1を指定すると第一引数に指定したフォントがPDF文書に埋め込まれている場合でも第二引数に指定したフォントを使って画像に変換します。
変換結果: メイリオフォントを明朝フォントに代替
変換結果
入力のPDF文書はこちらです。

無償評価版およびサンプル

PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要ですので一緒にダウンロードしてください。
サンプル ソースコード:サンプルのソースコードは以下をダウンロードしてください。(Visual Studio2008プロジェクト)
PDFImagerLP_samples_1_8_2.zip

ご質問、お問い合わせ

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

PDF Toolsライト

PDF Imager-LPサンプル

PDF 構文解説

(ISO32000-1より)

PDF Tools C++サンプル