You cannot interface directly to an arbitrary (Windows?) DLL in Java. If you need to use the functionality of an arbitrary DLL in Java, you will need to write some Java Native Interface (JNI) code to adapt the interface of the DLL to Java's requirements. You would typically write the JNI code in C or C++, although other languages are possible if they compile to native machine code.
JACOB and JAWIN allow you to access the functions of a DLL if it exports a COM interface. JNA provides access to the DLLs functions if it exports C-callable functions. None of these options requires any JNI programming.
Presumably your DLL has some other documentation that tells you what API it provides. [ September 07, 2007: Message edited by: Timothy Wall ]
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com