ここでは、Javaのサンプルコードを指定してコンパイル・実行する方法を解説します。
AHPDFToolAPI8-Linux_X86_64-Lib_***/SampleCode/java
(1) Javaでコンパイル・実行をする際に必要な環境変数を設定します。
Linux環境に必要なもの(※1)に加えて、Javaでは以下の環境変数も設定される必要があります。
|
環境変数名 |
設定値 |
|
CLASSPATH |
「PdfTkJava80.jar」のフルパス |
環境変数をコンソール上で指定する場合、以下の例のようになります。
> export LD_LIBRARY_PATH=/usr/AHPDFToolLib80/lib:${LD_LIBRARY_PATH}
> export PTL80_LIC_PATH=/usr/AHPDFToolLib80/License
> export PTL80_FONT_CONFIGFILE=/usr/AHPDFToolLib80/fontconfig/font-config.xml
> export PTL80_ICCPROFILE_PATH=/usr/AHPDFToolLib80/icc
> export CLASSPATH=/usr/AHPDFToolLib80/lib/PdfTkJava80.jar:${CLASSPATH}
(※1)
Linux環境で必要な環境変数の詳細は「2.4 Linux開発・実行環境における環境」をご参照ください。
TomcatなどのアプリケーションサーバにおいてJavaインターフェイスを使用する場合、「PdfTkJava80.jar」をWEBアプリケーションの「WEB-INF/lib」に置かないようにしてください。
代わりに、システムクラスローダなどロードが一度だけ行われるクラスローダで読み込ませるように設定してください。
JavaVMでは、仕様によりJNIのネイティブライブラリは複数のクラスローダから読み込めません。そのため、各WEBアプリケーションディレクトリにPdfTkJava80.jarを置いた場合、複数のWEBアプリケーションから使用することができなくなります。
システムクラスローダの利用はこれを防ぐための措置となります。
ここではJavaサンプルコードのコンパイル・実行をコンソール上で実行する方法を解説します。
以下は、サンプルプログラム「GetDocInfo.java」をコンパイルして実行する例です。
(1) カレントディレクトリをサンプルコードの配置フォルダに切り替えます。
以下は「/root」にSampleCodeを配置した例です。
> cd /root/SampleCode/java
(2) コンパイルしたいjavaファイルを指定し、コンパイルします。
> javac -encoding UTF-8 GetDocInfo.java
Java実行に必要な環境変数等の設定は「5.1.1 Javaコンパイル・実行環境の設定」をご参照ください。
以下はコンパイルされた「GetDocInfo.class」を実行する例です。
(1) サンプルを実行するためにはコンパイルされたclassファイルをパッケージフォルダに移動する必要があります。
具体的には、サンプルコードでは「package Sample;」が定義されています。そのため、本例では「GetDocInfo.class」を「Sample」フォルダに移動します。
上記操作は例えば、以下コマンドで実現可能です。
> mkdir Sample
> mv GetDocInfo.class Sample
(2) コンパイルしたclassファイルを実行します。
java Sample.GetDocInfo in.pdf
注意:
javaコマンド実行時、カレントディレクトリはパッケージフォルダの上の階層である必要があります。
例えば、classファイルを移動した[Sample]フォルダが[/home/test]に配置されている場合、
実行時のカレントディレクトリは[/home/test]である必要があります。[/home/test/Sample]ではありません。
PDF Tool APIのサンプルフォルダにはJavaインターフェースでサンプルプログラムを簡易に実行するためのシェルスクリプト「javasample-compileandrun.sh」が同梱されています。
AHPDFToolAPI8-Linux_X86_64-Lib_***/SampleCode
本項では、シェルスクリプトの簡易な実行方法を解説します。
(1) 実行したいサンプルプログラムを引数に指定し、ターミナルから「javasample-compileandrun.sh」を呼び出します。
> ./javasample-compileandrun.sh ImageToPdf
実行が完了すると完了メッセージが出てシェルスクリプトが終了します。
(2) シェルスクリプトと同じ階層に以下のディレクトリが生成され、各実行結果が出力されます。