Hallo,
ich habe das Problem, dass irgendwie FOP bei mir nicht richtig funktioniert. Ich habe zum Testen einfach einmal das Beispiel von der FOP Website benutzt und nur leicht geändert:
Wenn ich das Programm ausführe bekomme ich folgende Fehlermeldung in der Console:
Habe die Exception mal gegoogled und dazu nur folgendes von jemandem der ein ähnliches Problem hatte (gleiche Exception) gefunden:
Aber eigentlich ist die Berechtigung so gesetzt, dass jeder Vollzugriff hat :-\ Hat vielleicht irgend jemand anders ne Idee? (Benutze Vista als OS). Danke schonmal für Hilfe!
ich habe das Problem, dass irgendwie FOP bei mir nicht richtig funktioniert. Ich habe zum Testen einfach einmal das Beispiel von der FOP Website benutzt und nur leicht geändert:
Code:
package DataProcessing;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamSource;
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.MimeConstants;
/**
* Beispiel wie man aus einem XML-file in ein PDF generiert
*/
public class PDFCreator {
public PDFCreator() {
try{
// Step 1: Construct a FopFactory
// (reuse if you plan to render multiple documents!)
FopFactory fopFactory = FopFactory.newInstance();
// Step 2: Set up output stream.
// Note: Using BufferedOutputStream for performance reasons (helpful with FileOutputStreams).
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File("C:/Temp/myfile.pdf")));
try {
// Step 3: Construct fop with desired output format
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
// Step 4: Setup JAXP using identity transformer
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(); // identity transformer
// Step 5: Setup input and output for XSLT transformation
// Setup input stream
Source src = new StreamSource(new File("C:/Temp/myfile.fo"));
// Resulting SAX events (the generated FO) must be piped through to FOP
Result res = new SAXResult(fop.getDefaultHandler());
// Step 6: Start XSLT transformation and FOP processing
transformer.transform(src, res);
} finally {
//Clean-up
out.close();
}
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("File not Found: " + e.toString());
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("IO Exception: " + e.toString());
}
catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("Transformer: " + e.toString());
}
catch (FOPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("FOP Exception: " + e.toString());
}
}
}
Wenn ich das Programm ausführe bekomme ich folgende Fehlermeldung in der Console:
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlgraphics/image/loader/ImageContext
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at PDFTest.<init>(PDFTest.java:32)
at PDFTest.main(PDFTest.java:115)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlgraphics.image.loader.ImageContext
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 14 more
Habe die Exception mal gegoogled und dazu nur folgendes von jemandem der ein ähnliches Problem hatte (gleiche Exception) gefunden:
Thanks if you were going to help but I found the problem and if anyone else has a problem I found that it was a problem with the permissions of the installed fop once I changed them to the user and grp of the server everythin g snapped into place.
Aber eigentlich ist die Berechtigung so gesetzt, dass jeder Vollzugriff hat :-\ Hat vielleicht irgend jemand anders ne Idee? (Benutze Vista als OS). Danke schonmal für Hilfe!