5. Javaのコンパイルと実行手順

5.1. Java個別のサンプルコードのコンパイル・実行

ここでは、Javaのサンプルコードを指定してコンパイル・実行する方法を解説します。

AHPDFToolAPI8-Linux_X86_64-Lib_***/SampleCode/java

5.1.1. 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開発・実行環境における環境」をご参照ください。

注意:アプリケーションサーバにおけるJava使用上の注意

TomcatなどのアプリケーションサーバにおいてJavaインターフェイスを使用する場合、「PdfTkJava80.jar」をWEBアプリケーションの「WEB-INF/lib」に置かないようにしてください。
代わりに、システムクラスローダなどロードが一度だけ行われるクラスローダで読み込ませるように設定してください。

JavaVMでは、仕様によりJNIのネイティブライブラリは複数のクラスローダから読み込めません。そのため、各WEBアプリケーションディレクトリにPdfTkJava80.jarを置いた場合、複数のWEBアプリケーションから使用することができなくなります。
システムクラスローダの利用はこれを防ぐための措置となります。

5.1.2. サンプルコードのコンパイル

ここではJavaサンプルコードのコンパイル・実行をコンソール上で実行する方法を解説します。

以下は、サンプルプログラム「GetDocInfo.java」をコンパイルして実行する例です。

(1) カレントディレクトリをサンプルコードの配置フォルダに切り替えます。
以下は「/root」にSampleCodeを配置した例です。

> cd /root/SampleCode/java

(2) コンパイルしたいjavaファイルを指定し、コンパイルします。

> javac -encoding UTF-8 GetDocInfo.java

5.1.3. 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]ではありません。

5.2. 同梱のJava実行用シェルスクリプトについて

PDF Tool APIのサンプルフォルダにはJavaインターフェースでサンプルプログラムを簡易に実行するためのシェルスクリプト「javasample-compileandrun.sh」が同梱されています。

AHPDFToolAPI8-Linux_X86_64-Lib_***/SampleCode

5.2.1. シェルスクリプトの操作方法

本項では、シェルスクリプトの簡易な実行方法を解説します。

(1) 実行したいサンプルプログラムを引数に指定し、ターミナルから「javasample-compileandrun.sh」を呼び出します。

> ./javasample-compileandrun.sh ImageToPdf

実行が完了すると完了メッセージが出てシェルスクリプトが終了します。

(2) シェルスクリプトと同じ階層に以下のディレクトリが生成され、各実行結果が出力されます。

  • 「Sample」ディレクトリ:コンパイルされたclassファイルの格納先
  • 「java-out」ディレクトリ:実行結果の出力先
    サンプルプログラムで処理されたPDFなどが「(プログラム名)_out」の名前で出力されます。
  • 「java-out-ExtractPage」ディレクトリ:サンプルプログラム「ExtractPage」専用の出力先