You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Arjan Bokx <ar...@akb-ls.nl> on 2013/01/03 08:37:11 UTC
RE: FOP 1.1 embedded examples - SOLVED step 1
Robert,
Your suggestions work perfectly for me, thank you.
Step 2:
Now I'm trying to call Java from Delphi using JNI.
With the classpath set as suggested - I had to include all the .jar files in the .bin directory separately, since bin/* didn't work - I construct the desired object (Delphi 7 code, I adapted URLGrabberMainForm.pas):
Var
Cls: JClass;
Mid: JMethodID;
ExampleFO2PDF: JObject;
//Construct ExampleFO2PDF object
ExampleFO2PDF := CreateJavaObject(FJNIEnv, 'embedding/ExampleFO2PDF', Cls);
This works; no error messages.
But then...
//Locate the 'convertFO2PDF' method
Mid := FJNIEnv.GetMethodID(Cls, 'convertFO2PDF', '(Ljava/lang/File;Ljava/lang/File;)V');
"A Java exception occurred
Java.lang.NoSuchMethodError
convertFO2PDF"
Source file ExampleFO2PDF.java contains
public void convertFO2PDF(File fo, File pdf) throws IOException, FOPException
so I think I'm using GetMethodID correctly - evidently not, can someone tell me what I'm missing?
Regards,
Arjan Bokx
-------------------------------------------------------------------
Van: Robert Meyer [mailto:rmeyer@hotmail.co.uk]
Verzonden: woensdag 2 januari 2013 10:21
Aan: fop-users@xmlgraphics.apache.org
Onderwerp: RE: FOP 1.1 embedded examples
Hi Arjan,
I did the following to get it working:
1) From the command line I went to the examples\embedding\ directory and ran ant to generate all the classes into a ./build/ directory.
2) I then ran the following from the same directory:
java -cp "build/classes:../../lib/*:../../build/fop.jar" embedding.ExampleFO2PDF
It will be slightly different for you though as I am on Linux. To get it running on Windows you will need to change the colons for semi-colons e.g.
java -cp "build/classes;../../lib/*;../../build/fop.jar" embedding.ExampleFO2PDF
That should then generate the output successfully into the ./out/ directory.
Let me know if you are still having problems
Regards,
Robert Meyer
> From: arjan.bokx@akb-ls.nl
> To: fop-users@xmlgraphics.apache.org
> Subject: FOP 1.1 embedded examples
> Date: Wed, 2 Jan 2013 07:29:14 +0000
>
> Hello everybody,
>
> I have a question about getting the "embedded" examples of FOP 1.1 to work.
> Is this the right place to ask?
> (If not, please redirect me and disregard the following)
>
> My OS is Windows XP.
> I've downloaded and installed the Java SDK 1.7.0_10
> I've downloaded and installed fop 1.1
> I've downloaded and installed Ant.
> With Ant, I compiled the "embedded" examples.
> "Ant example1" correctly runs ExampleFO2PDF.
> What should I do to call ExampleFO2PDF from Java? Actually I wish to call it from Delphi, using JNI, but first things first.
> "Java ExampleFO2PDF" from the command line gives:
> Exception in thread "main" java.lang.NoClassDefFoundError: ExampleFO2PDF (wrong name: embedding/ExampleFO2PDF)
>
> When I add just about every path to the classpath with the command line option -cp, I get:
> Error: Could not find or load main class ExampleFO2PDF.main
>
> Could you help me please.
>
>
> Regards,
> Arjan Bokx
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org