English | 日本語
BCL Technologies Shopping Cart Contact Us
   PDFクリエータAPI    PDFをWord API    PDFをHTML API    Linux用PDFコンバージョンAPI
 

お問い合わせください
無料トライアル

BCL easyConverter SDKは、開発者がPDFファイルをMicrosoft WordとHTML形式に変換するためのソフトウエアライブラリです。

まずはじめに

以下のことを試すために、 easyConverter SDK Linuxバージョンの無料トライアルビルドを弊社へご連絡の上、入手してください。

easyConverter SDKのLinuxバージョンは、32-bitと64-bitの2種類があります。32-bit Linux上では32-bit SDK、64-bit Linux上では64-bit SDKを使用することが必要です。

Note: 注意:easyConverterはlibcairo.so.2に依存しており、libcairo.so.2は通常、システムと同じビット長のものしかインストールされていないため、32-bit SDKは64-bit Linux上では動作しません。もし、32-bit SDKは64-bit Linux上でどうしても動作させたい場合、64-bit Linux上で32-bit Cairo Graphicsっをコンパイルしてみてください。しかし、Cairo Graphics自身はX11システム全体に依存しており、とても巨大なサイズになります。現実としては、ご自身のアプリケーションを64ビット版としてコンパイルすることは非常に容易であるため、64ビットシステム上で32ビットeasyConverterを動作させることからは、実際何も利益を得ることはありません。

SDKは1つのZIPファイルとして提供されます。ご自身のホームディレクトリの下どこでも解凍が可能です。解凍後のディレクトリ構造は、以下のとおりになります。

easyConverter/
   readme.pdf
   include/
      EasyConverter.h
   lib/
      libEasyConverter.so
   share/
      easyConverter/
         cmaps/*
         Fonts/*
         easyConverter.ini
         english.dic
   Samples/
      build.sh
      build.txt
      PDF2WordBasic
      PDF2WordBasic.c
      PDF2WordBatch
      PDF2WordBatch.c

“include”ディレクトリにはSDKに関する宣言が定義されたCヘッダファイル“EasyConverter.h”が存在します。このヘッダファイルをCやC++で使用することができます。

“lib”ディレクトリはeasyConverter共用オブジェクトのための場所です。これは、SDKを使用するためのダイナミックライブラリモジュールで、ご自身の持つ実行可能ファイルとリンクします。

“share”ディレクトリには、SDKが適切に動作するために必要な主要リソースやコンフィギュレーションファイルが含まれています。
これらは、Adobeキャラクタマップ(“cmap”)、TrueTypeフォントファイル(“Fonts”)、メインプロダクトコンフィギュレーションファイル(“easyConverter.ini”)、そしてハイフネーションディクショナリ(“english.dic”)を含みます。

“Samples”ディレクトリは、SDKの使用をデモンストレーションするためのいくつかのサンプルアプリケーションを含んでいます。“PDF2WordBasic”は、最も簡単で可能なコマンドラインユーティリティで、入力PDFを取り込み、出力RTFドキュメントを作成します。基本的なエラー処理と進捗表示が含まれています。

“PDF2WordBatch”は、バッチ処理が可能なより複雑なコマンド‐ラインツールです。

サンプルアプリケーションの動作

ZIPファイルから解凍した後、サンプルアプリケーションの内の一つを実行してみることができます。ターミナルを開き、以下のコマンドを実行してください。:

cd easyConverter/Samples
./PDF2WordBasic input.pdf output.rtf

このコマンドは、input.pdfファイルを開き、そのファイルを、output.rtfという名前の、Microsoft OfficeまたはOpenOfficeで開くことのできるファイルに変換します。

以下のコマンドを使用することで、複数のPDFファイルを指定されたディレクトリ内にバッチ変換することも可能です。

./PDF2WordBatch <変換対象ディレクトリ>

このコマンドは、すべてのPDFファイルを指定されたディレクトリ内に列挙し、自動的に各々をRTFに変換します。

注意: デフォルトの変換タイムアウト時間は各PDFファイルに対して5分です。あるPDFファイルの処理に時間がかかれば、プログラムは現在のドキュメントをスキップして、次のファイルに移ります。

ご自身でCプログラムをコンパイルされたい場合、./build.sh シェルスクリプトを実行することにより、以下のコマンドを実行することができます。:

gcc PDF2WordBasic.c ../lib/libEasyConverter.so -L ../lib -o PDF2WordBasic gcc PDF2WordBatch.c ../lib/libEasyConverter.so -L ../lib -o PDF2WordBatch

これは、サンプルアプリケーションをコンパイルするためにおそらく一番簡単な方法です。-oスイッチが出力実行可能ファイル名を指定する間、-Lスイッチはライブラリパスを設定します。

注意: ビルド処理を実行する前に、お手持ちのライセンスキーを、各 *.c fileの初めに付けてください。“YOUR LICENSE KEY COMES HERE(ライセンスキーをこちらに)”というコメントの入った行がソースコード内に含まれています。必ずその行を編集してください。

ご自身のプロジェクトを作成なさる際、ご自身のシステムがアクセスできる限り、どこにでもlibEasyConverter.soファイルをおいて構いません。“./libEasyConverter.so”や“../lib/libEasyConverter.so“のように、ライブラリを相対パスで参照することをおすすめします。あるいは、“-l EasyConverter” GCCスイッチを使用してリンクし、libEasyConverter.soを自身のライブラリパス上のロケーションにインストールすることが可能です。

libEasyConverter.soをハードドライブ上のどこにでも自由にインストールできますが、 “../share” ディレクトリは共有オブジェクトの格納場所に対して相対的な位置に存在しなければいけません。言い換えれば、libEasyConverter.soが置かれているディレクトリの、親ディレクトリの下に“share”ディレクトリがなければいけません。“../share/easyConverter/”パスは、EasyConverterの中にハードコードされており、このロケーションは変更できません。しかし、この規定はLinuxライブラリはがデプロイされる方法と互換性を持っています。たとえば、libEasyConverter.soを“/usr/lib/”下にインストールする場合、“/usr/share/easyConverter/”下にリソースファイルとコンフィギュレーションを置くことができます。これはLinuxでは標準的なやり方です。:

/usr/
   include/
      EasyConverter.h
   lib/
      libEasyConverter.so
   share/
      easyConverter/
         cmaps/*
         Fonts/*
         easyConverter.ini
         english.dic

任意に、開発者が通常作業ライブラリを配置する場所である、/usr/local/ の下にこの階層を置くことも可能です。または、もし今決定できない場合の推奨方法として、ただ簡単に自身のホームディレクトリ下にすべてを置くことも可能です。ご自身のプロジェクトからeasyConverterディレクトリへ、シンボリックリンクを作成することも常に可能です。

コンフィギュレーション

メインの製品コンフィギュレーションファイルはeasyConverter.iniと呼ばれるファイルです。このファイルは、libEasyConverter.soが配置されている場所から相対的に位置する場所である “../share/easyConverter/easyConverter.ini” に置かれています。

INIファイルは以下のコンフィギュレーションオプションを含んでいます。:

  • [Directories]セクション:
    • Fonts: 全てのTrueTypeフォントファイルが配置されているディレクトリへのパスです。これは、INIファイルのロケーションからの相対パスまたは絶対パスになります。フォントは、再帰的に列挙されません。小文字の.ttf拡張子を持つファイルだけが使われます。サポートされない、または破損したフォントは無視されます。 デフォルト値:“./Fonts”
  • [Fonts]セクション:
    • DefaultSerifFont: PDFファイルが存在しないセリフフォントを含むとき、ここで設定されているフォントによって置き換えられます。 デフォルト値: Times New Roman.
    • DefaultSansSerifFont: PDFファイルが存在しないサンセリフフォントを含むとき、ここで設定されているフォントによって置き換えられます。 デフォルト値: Arial.

 

INI ファイル例:

[Directories]
Fonts=./Fonts
[Fonts]
DefaultSerifFont=Times New Roman
DefaultSansSerifFont=Arial

デフォルト値は通常の使用環境に対して妥当な値に設定してあるので、このINIファイルを編集する必要なまったくないかもしれません。ほとんどの場合、単純に空欄のままにしておいて構いません。

share/easyConverter/Fontsディレクトリ内にお手持ちのフォントを追加する必要があります。法的理由によって、弊社はArialやTimes New RomanのようなMicrosoft Windows TrueTypeフォントを供給することができません。easyConverterのLinuxバージョンにはフォントは一切同梱されていません。本製品は、少なくともセリフとサンセリフTrueTypeフォントが1つずつFontsディレクトリ内に存在しなければ、動作しませんのでご注意ください。

フォント問題に対して2つのアプローチがあります。:

  • 選択 1: ユーザーがWindowsバージョンのフォント、Arial, Courier、Times New RomanそしてSymbol、同様に典型的なPDFドキュメントに共通して存在するその他のフォントを供給する。easyConverter のLinuxバージョンがWindowsバージョンと同様のRTF出力の生成を確実にするためには、これが一番簡単な方法です。Windowsインストールにおいて、フォントファイルはC:\Windows\Fonts\ に配置することができます。easyConverterは現在TTC(TrueType Collection)ファイルをサポートしておらず、.ttf拡張子は小文字でなくてはならないことにご注意ください。Windows下で動作するTTFファイルは、easyConverter Linuxによって非常に高いレベルでサポートされています。フォントを自身のLinuxへコピーする前に、それらのフォントのライセンスを適切に受けることはユーザーの責任です。
  • 選択 2: 利用可能な無料オープンソースフォントがあります。例えば、(URW)++ (旧社名URW)という会社が、無料でダウンロード可能なGPLライセンスのTrueTypeフォントを提供しており、インターネット上でダウンロードが可能です。しかし、それらのフォントはArial、CourierそしてTimes New Romanとは呼ばれておらず、Nimbus SanL、Nimbus MonoそしてNimbus Romanという名前にそれぞれなっています(実際の名前はわずかに異なる場合があります)。それゆえ、INIファイルのDefaultSerifFontとDefaultSansSerifFont設定はそれらにしたがって構成されなければなりません。一方、Nimbusフォントは一般のエンドユーザーのコンピュータには存在しないので、URWフォントを用いたRTFファイルは表示が若干異なることもあります。無料に関わらず、URWフォントは、その他のコマーシャルフォントと同様に、著作権とライセンス契約によって保護されています。

これらのコンフィギュレーションオプションすべては、システム全体に包括的です。libEasyConverter.soは、ライブラリがはじめてロードされたときに、easyConverter.iniファイルを一度だけ読み込みます。INIファイル内の設定を変更する場合、それら変更はlibEasyConverter.soを使用するすべてのプロセスを再起動しなければ反映されません。

同様に、TrueTypeフォントファイルの追加や除去を決定する場合、最初にeasyConverterを使用するすべてのプロセスを停止する必要があります。もしeasyConverterが、削除してしまったフォントファイルを開く必要がある場合、変換エラーが発生する場合があります。

PDFからRTFへの変換設定において、他にもいくつか変換結果に影響する項目があります。しかし、それらは包括的なINIファイル経由とは対照的に、プログラム的にSDKへ渡されるリエントラント(スレッドセーフ)な設定です。

配布

以下のファイルとディレクトリは再配布のためのものではありません

include/
   EasyConverter.h
Samples/
   compile.sh
   compile.txt
   PDF2WordBasic
   PDF2WordBasic.c
   PDF2WordBatch
   PDF2WordBatch.c

全ての製品ドキュメンテーションも再供給可能ではありません。

ご自身のアプリケーションを配布される際、以下のファイルは出荷され、インストールされなければなりません。:

lib/
   libEasyConverter.so
share/
   easyConverter/
      cmaps/*
      Fonts/*
      easyConverter.ini
      english.dic

Linuxシステム上のeasyConveterは、コンピュータにインストールされているフォントを自動的に見つけるすることができませんのでご注意ください。“../share/easyConverter/Fonts”ディレクトリ下へ自分のフォントを送るようにしておくか、自分が使用したい全てのTrueTypeフォントが配置されているディレクトリを指し示すようにeasyConverter.iniファイルを構成してください。フォントファイルの列挙は再帰的ではないので、全ての*.ttfファイルは同じディレクトリの直下になければなりせん。もう一つのオプションは、全てのフォントが実際にあるディレクトリへのシンボリックリンクを“../share/easyConverter/Fonts”に作成することです。

このシンボリックリンクオプションは、“share”ディレクトリの全てや、“libEasyConverter.so”にも利用できます。例えば、EasyConverterを自身のホームディレクトリにインストールして、シンボリックリンクを “/usr/lib/” と “/usr/share/” の下に作成することができます。唯一の制限は、“../share/easyConverter”が、プロセスがロードしたlibEasyConverter.soファイルの物理的な場所に対して相対的な位置に存在しなければならないということだけです。

注意: ほとんどのフォントファイルは法的に再配布ができません。著作権のあるフォントはそれぞれの著作者からライセンスを受けます。オープン‐ソースフォントは、しばしばGPLライセンス下にあります。

 

 

 
-
 
BCL
© 1993 - , BCL Technologies.
弊社以外の全ての商標は、各所有者に帰属します。