Java Interface

This interface allows AH Formatter V7.2 to be invoked from Java programs. See Java VM Issues.

The Java Interface uses JNI (JavaNativeInterface).

Library Files

The following library files are included in [Install directory] or [Install directory]/​lib.

Library fileContentsLocation
XfoJavaCtl.jarJava Archiver[Install directory]/​lib
XfoJavaCtl72.dllJava Interface Library for Windows[Install directory]
libXfoJavaCtl72.soJava Interface Library for Linux[Install directory]/​lib
libXfoJavaCtl72.jnilibJava Interface Library for Macintosh[Install directory]/​lib

In order to execute the Java Interface, directory of execute java and [Install directory]/​lib/​XfoJavaCtl.jar must be included in the CLASSPATH environment variable. In addition, from using JNI (JavaNativeInterface), in Windows version, [Install directory] must be included in the PATH environment variable. In the following environment,[Install directory]/​lib must be included. In Linux version, it must be included in the LD_LIBRARY_PATH environment variable. In Macintosh version, it must be included in the java.library.path . See also Environment Variables for the necessary environment variables.

Windows version:

> set CLASSPATH=[Install directory]/lib/XfoJavaCtl.jar;%CLASSPATH%
> set PATH=[Install directory];%PATH%

Linux version:

$ CLASSPATH=[Install directory]/lib/XfoJavaCtl.jar:${CLASSPATH}
$ export CLASSPATH
$ LD_LIBRARY_PATH=[Install directory]/lib:${LD_LIBRARY_PATH}

Java VM Issues

AH Formatter V7.2 Java Interface is built with J2SE5.0 in Windows version, Java SE 8 in Linux 64-bit version, OpenJDK 8 in Amazon Linux 2 Graviton2 version, Java SE 6 in Macintosh 64-bit version.

Use in an Application Server

Since the native JNI library can be read by two or more Java VM class loaders, when using this interface in application servers, such as Tomcat, do not install the XfoJavaCtl.jar in the WEB-INF/lib of the Web application. Set the interface to be read by class loaders (system class loader etc.) which only load once.

Running the Sample Program

[Install directory]/​samples/​java contains several simple sample programs.

The following shows how to execute these sample programs. In this case [Install directory]/​samples/​java must be included in CLASSPATH.

> cd [Install directory]/samples/java
> javac
> java sample sample.pdf

In Macintosh 64-bit version, the setting of java.library.path needs to be added in the java command as follows:

> java -Djava.library.path="[Install directory]/lib" sample sample.pdf

API Specification