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-0G08-43RG048K9112")){ 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-0G08-43RG048K9112"); // オープン 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-0G08-43RG048K9112") < 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の無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要です。
サンプル ソースコード:サンプルのソースコードは以下をダウンロードしてください。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要です。
サンプル ソースコード:サンプルのソースコードは以下をダウンロードしてください。