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の無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾契約書をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要ですので必ずダウンロードしてください。
インストール
| C# 開発環境 | C/C++ 開発環境 | Python 開発環境 |
ライブラリは無償でダウンロードでき、全機能を試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
| doc | ライブラリ説明書、利用許諾契約書 |
| include | C/C++用ヘッダー(.h)ファイル |
| lib | DLLライブラリ、Libファイル |
| sample | C/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-0G97-923K478G8EK2")){
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 | 初期化 引数にライセンスキーを指定します。 |
| MlpOpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード 第三引数:ユーザーパスワード |
| MlpSimpleFontListGetName | フォント名を取得 文書内フォントの総数が戻ります。 第一引数:文書内出現順のフォント番号 第二引数:フォント名 第三引数:埋込・非埋込のフラグ 第四引数:フォントタイプ |
| MlpCloseDoc | PDF文書をクローズ |
| MlpUninitialize | ライブラリの終了 |
| C# | C/C++ | Python | 他のサンプル | ダウンロード |
using System;
using PDFTools.PdfImagerLP;
namespace FontList
{
class FontList
{
static void Main(string[] args)
{
// インスタンス生成
PdfImager imgr = new PdfImager("0-0G97-923K478G8EK2");
// オープン
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 | 初期化 引数にライセンスキーを指定します。 |
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) |
| SimpleFontListGetNameC | 文書内の全フォント情報が格納された配列が戻ります。 |
| CloseDoc | PDF文書をクローズ |
| Uninitialize | ライブラリの終了 |
| C# | C/C++ | Python | 他のサンプル | ダウンロード |
import PdfImagerLP
# インスタンス生成
mlp = PdfImagerLP.Mlp();
# 初期化
if mlp.Initialize("0-0G97-923K478G8EK2") < 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 | 初期化 引数にライセンスキーを指定します。 |
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) |
| SimpleFontListGetNameC | 文書内の全フォント情報が格納された配列が戻ります。 |
| CloseDoc | PDF文書をクローズ |
| Uninitialize | ライブラリの終了 |
変換結果:以下のようにフォントがリスト表示されます。
1: Meiryo - 非埋め込みフォント [CIDFontType2] 2: MS-PMincho - 非埋め込みフォント [CIDFontType2] 3: YuGothic-Regular - 非埋め込みフォント [CIDFontType2] 4: TimesNewRomanPSMT - 非埋め込みフォント [TrueType]入力のPDF文書はこちらです。
無償評価版およびサンプル
PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要です。
サンプル ソースコード:サンプルのソースコードは以下をダウンロードしてください。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要です。
サンプル ソースコード:サンプルのソースコードは以下をダウンロードしてください。