PDF Imager-LP PDF文書のフォントをリスト表示 サンプル

PDF Imager-LP PDFのフォントをリスト表示する サンプル


Imager-LP

 価格見積り

PDF Imager-LPは、
  ・PDF文書を画像(TIFF、JPEG、PNG、BMP)に変換
  ・PDFメタデータをXMP解析・変更
  ・文書のFormに入力されたデータを抽出
  ・PDFのオブジェクト(PDFの構成要素)を抽出
を実施するライブラリです。( PDF Imager-LP概要


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

PDFImagerLP-1_9_1.zip(体験版パッケージ)
体験版(評価)用 ライセンスキー"0-03E6-31KE140H8HRE" [評価用ライセンスキー] (無償)

インストール


C# 開発環境 C/C++ 開発環境 Python 開発環境
ライブラリは無償でダウンロードでき、全機能を試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/C++言語、C#/VB.NET言語 および、
Windowsアプリケーション(C++およびC#)
サンプルはlib/PdfImagerLPNET.dllおよびlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)を参照しますので、適切なフォルダーにコピーしてください。
サンプルはlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)を参照しますので、適切なフォルダーにコピーしてください。
サンプルはPdfImagerLP.pyを使用し、lib/[x64またはWin32]/_PdfImagerLP.pydおよびlib/[x64またはWin32]/PdfImagerLP.dllを参照しますので、適切なフォルダーにコピーするか、以下のような手順でPython DLLの検索パスを設定してください。
import sys
if sys.maxsize > 2**32:
    sys.path.insert(1,'[Imager-LPインストールフォルダー名]/lib/x64')
else:
    sys.path.insert(1,'[Imager-LPインストールフォルダー名]/lib/Win32')

フォントをリスト表示するサンプルコード

PDF文書に記載された(埋込・非埋込)フォントの名前やタイプを表示するサンプルコードです。
PDF文書に記載されたフォントをリスト表示します。(PDF文書の内容はこちらです。)

C# C/C++ Python 他のサンプル ダウンロード
#include "ImagerLP.h"
#pragma comment(lib, "PdfImagerLP.lib")

int main()
{
    // 初期化
    if(MlpInitialize("0-03E6-31KE140H8HRE")){
        printf("ライセンスキーが不正です。正しいライセンスキーを使用してください。");
        return 1;
    }

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

    const char *embedFlagStr[] = { "非埋め込みフォント", "埋め込みサブセットフォント", "不正値", "埋め込みフォント", "標準14フォント" };
    const char *fontTypeStr[] = { "Type0", "Type1", "MMType1", "Type3", "TrueType", "CIDFontType0", "CIDFontType2" };

    // フォント名
    char *name = "NoName";
    int embedFlag;
    int fontType;

    //フォントリスト
    int nOfFonts = MlpSimpleFontListGetName(1, &name, &embedFlag, &fontType);

    //表示
    if (nOfFonts >= 0) {
        printf("Count = %d\n", nOfFonts);
        for (int i = 0; nOfFonts >= 0;) {
            printf("%d: %s - %s [%s]\n", ++i, name, embedFlagStr[embedFlag], fontTypeStr[fontType]);
            nOfFonts = MlpSimpleFontListGetName(i + 1, &name, &embedFlag, &fontType);
        }
    }

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

    // 後始末
    MlpUninitialize();
}
MlpInitialize初期化
 引数にライセンスキー"0-03E6-31KE140H8HRE" (評価用ライセンスキー) を指定します。
MlpOpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
MlpSimpleFontListGetNameフォント名を取得 文書内フォントの総数が戻ります。
 第一引数:文書内出現順のフォント番号
 第二引数:フォント名
 第三引数:埋込・非埋込のフラグ
 第四引数:フォントタイプ
MlpCloseDocPDF文書をクローズ
MlpUninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
using System;
using PDFTools.PdfImagerLP;

namespace FontList
{
    class FontList
    {
        static void Main(string[] args)
        {
            // インスタンス生成
            PdfImager imgr = new PdfImager();

            // 初期化
            if (imgr.Initialize("0-03E6-31KE140H8HRE") != 0)
            {
                Console.WriteLine("ライセンスキーが不正です。");
                Environment.Exit(2);
            }

            // オープン
            if (imgr.OpenDoc("入力.pdf") != err.MLP_NO_ERROR)
            {
                Console.WriteLine("PDFファイルを開けません。");
                Environment.Exit(3);
            }

            string[] EMBED = new string[] { "非埋込フォント", "埋込フォントサブセットフォント", "", "埋込フォント", "標準14フォント" };
            string[] TYPE  = new string[] { "Type0", "Type1", "MMType1", "Type3", "TrueType", "CIDFontType0", "CIDFontType2" };

            // フォントリスト
            FontNameInfo[] fontName = imgr.SimpleFontListGetNameC();

            // 表示
            if (fontName.Length > 0)
            {
                for (int i = 0; i < fontName.Length; i++)
                    Console.WriteLine("{0}: {1} {2} {3}", i + 1, 
                        fontName[i].name, EMBED[fontName[i].embedFlag], TYPE[fontName[i].type]);
            }

            // 文書クローズ
            imgr.CloseDoc();

            // 後始末
            imgr.Uninitialize();
        }
    }
}
Initialize初期化
 引数にライセンスキー"0-03E6-31KE140H8HRE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
SimpleFontListGetNameC文書内の全フォント情報が格納された配列が戻ります。
CloseDocPDF文書をクローズ
Uninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
import PdfImagerLP

# インスタンス生成
mlp = PdfImagerLP.Mlp();

# 初期化
if mlp.Initialize("0-03E6-31KE140H8HRE") < 0:
    print("ライセンスキーが不正です。");
    exit()

EMBED = ('非埋込フォント', '埋込フォントサブセットフォント', '', '埋込フォント', '標準14フォント')
TYPE = ('Type0', 'Type1', 'MMType1', 'Type3', 'TrueType', 'CIDFontType0', 'CIDFontType2')

# オープン
if mlp.OpenDoc("in.pdf") < 0:
    print("PDFファイルを開けません。")
else:
    # フォントリスト
    fList = mlp.SimpleFontListGetNameC()
    nOfFonts = len(fList)

    # 表示
    for i in range(nOfFonts):
        print(i+1, fList[i].name, EMBED[fList[i].embedFlag], TYPE[fList[i].type])

    # 文書クローズ
    mlp.CloseDoc();

# 後始末
mlp.Uninitialize();
Initialize初期化
 引数にライセンスキー"0-03E6-31KE140H8HRE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
SimpleFontListGetNameC文書内の全フォント情報が格納された配列が戻ります。
CloseDocPDF文書をクローズ
Uninitializeライブラリの終了
変換結果:以下のようにフォントがリスト表示されます。
1: Meiryo - 非埋め込みフォント [CIDFontType2]
2: MS-PMincho - 非埋め込みフォント [CIDFontType2]
3: YuGothic-Regular - 非埋め込みフォント [CIDFontType2]
4: TimesNewRomanPSMT - 非埋め込みフォント [TrueType]
入力のPDF文書はこちらです。

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

PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要です。
PDFImagerLP-1_9_1.zip(体験版パッケージ)
体験版(評価)用 ライセンスキー"0-03E6-31KE140H8HRE" [評価用ライセンスキー] (無償)

サンプル ソースコード:サンプルのソースコードは以下をダウンロードしてください。
PDFImagerLP_samples_1_9_1.zip

ご質問、お問い合わせ

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

PDF Toolsライト

PDF Imager-LPサンプル

PDF 構文解説

(ISO32000-1より)

PDF Tools C++サンプル