Peter,
Here are the relevant targets:
<!-- Build PDF from FO using FOP, need to include FOP, Avalon,
and Batik relevant jar files in CLASSPATH -->
<target name="dita.fo2pdf" if="hasFOP" description="Build PDF from FO
using FOP">
<taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"/>
<property name="args.fo.userconfig"
value="${dita.dir}\techpubs-tools\fop-0.95\conf\fop.xconf"/>
<antcall target="dita.fo2pdf.userconfig"/>
<antcall target="dita.fo2pdf.nouserconfig"/>
</target>
<target name="dita.fo2pdf.userconfig" if="args.fo.userconfig">
<echo>CLASSPATH is : ${env.CLASSPATH}</echo>
<fop format="application/pdf" basedir="${input}" fofile="${input}"
outfile="${output}"
messagelevel="info" userconfig="${args.fo.userconfig}"> </fop>
</target>
Instructions in the DITA OT for installing FOP are terse. Relevant items I
can find are:
Installing Apache FOP
1. Enter the URL:
http://archive.apache.org/dist/xmlgraphics/fop/binaries/
2. From the FOP page, in the Name column, select "fop-0.20.5-bin.zip"
3. Click Save to download the fop-0.20.5-bin.zip file and unzip it to the
C:\ directory as fop-0.20.5
4. Set the CLASSPATH environment variable for the following jar files:
* \build\fop.jar
* \lib\batik.jar
* \lib\avalon-framework-cvs-20020806.jar
Setting up Ant
1. Download and extract the Ant package file (available on
http://ant.apache.org/bindownload.cgi) into a directory of your choice.
2. Set up environment variable.
Option Description
If you use Windows, follow these steps.
* Set the JAVA_HOME. set JAVA_HOME=<jdk_dir>
* Set the ANT_HOME. set ANT_HOME=<ant_dir>
* Set the PATH. set PATH=%PATH%;<ant_dir>\bin
If you use Linux, follow these steps.
* Set JAVA_HOME export JAVA_HOME=<jdk_dir>
* Set the ANT_HOME export ANT_HOME=<ant_dir>
* Set the PATH (export PATH=$PATH:<ant_dir>\bin
3. Optional: If you have installed optional output FOP to generate PDF
output, see DITA installation for detail information of setting up.
Installing Apache FOP
1. Enter the URL:
http://archive.apache.org/dist/xmlgraphics/fop/binaries/
2. From the FOP page, in the Name column, select "fop-0.20.5-bin.zip"
3. Click Save to download the fop-0.20.5-bin.zip file and unzip it to the
C:\ directory as fop-0.20.5
4. Set the CLASSPATH environment variable for the following jar files:
* \build\fop.jar
* \lib\batik.jar
* \lib\avalon-framework-cvs-20020806.jar
Thank you for looking into this,
David
Peter Hancock-2 wrote:
>
> Hi David,
>
> What is the ant target you are calling when you get this error?
>
> Whilst investigating this issue, I was first going to first try and
> confirm
> that the classpath stated is indeed passed to the JVM running fop.
>
> Does the DITA project have any documentation on fop integration?
>
> Peter
>
> On Tue, Jan 26, 2010 at 6:18 PM, DavidJKelly <[email protected]>
> wrote:
>
>>
>> I hope I'm not posting in the wrong place. I am using the DITA Open
>> Toolkit
>> 1.4.2.1 with FOP 0.95 added to it. The classpath (echoed just before
>> executing FOP from Ant) looks like this:
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\lib;
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\lib\dost.jar;
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\lib\resolver.jar;
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\lib\icu4j.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\saxon\saxon.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\build\fop.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\lib\avalon-framework-4.2.0.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\lib\batik-all-1.7.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\lib\xml-apis-1.3.04.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\lib\xercesImpl-2.7.1.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\lib\xmlgraphics-commons-1.3.1.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\lib\commons-io-1.3.1.jar;
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\lib\commons-logging-1.0.4.jar;
>> .;
>> c:\saxon\saxon9.jar;
>> C:\xalan\serializer.jar;
>> C:\Program Files\Java\jre6\lib\ext\QTJava.zip;
>>
>> I have double-checked that the Batik and Avalon-Framework jar files are
>> where they should be.
>>
>> I have tested to make sure the fop.jar in
>>
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\techpubs-tools\fop-0.95\build
>> is the one that is executing, rather than the older version packaged with
>> the DITA OT, and this is the case. The source code references an SVG
>> file.
>> When FOP executes, the following message appears:
>>
>> [fop] Jan 26, 2010 1:10:10 PM org.apache.fop.apps.FopFactoryConfigurator
>> configure
>> [fop] INFO: Default page-height set to: 11in
>> [fop] Jan 26, 2010 1:10:10 PM org.apache.fop.apps.FopFactoryConfigurator
>> configure
>> [fop] INFO: Default page-width set to: 8.25in
>> [fop]
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\win\pdf_out\win\win.fo->
>> C:\Users\David\Documents\qualcomm\ditaot_qualcomm\win\pdf_out\win\win.pdf
>> [fop] Jan 26, 2010 1:10:12 PM
>> org.apache.fop.image.loader.batik.PreloaderSVG$Loader getImage
>> [fop] WARNING: Batik not in class path
>> [fop] java.lang.NoClassDefFoundError: org/w3c/dom/svg/SVGDocument
>> [fop] at java.lang.ClassLoader.defineClass1(Native Method)
>> [fop] at java.lang.ClassLoader.defineClass(Unknown Source)
>> [fop] at java.security.SecureClassLoader.defineClass(Unknown
>> Source)
>> [fop] at java.net.URLClassLoader.defineClass(Unknown Source)
>> [fop] at java.net.URLClassLoader.access$000(Unknown Source)
>> [fop] at java.net.URLClassLoader$1.run(Unknown Source)
>> [fop] at java.security.AccessController.doPrivileged(Native
>> Method)
>> [fop] at java.net.URLClassLoader.findClass(Unknown Source)
>> [fop] at java.lang.ClassLoader.loadClass(Unknown Source)
>> [fop] at java.lang.ClassLoader.loadClass(Unknown Source)
>> [fop] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>> [fop] at
>> org.apache.batik.dom.svg.SVGDOMImplementation.createDocument(Unknown
>> Source)
>> [fop] at
>> org.apache.batik.dom.util.SAXDocumentFactory.startElement(Unknown Source)
>> [fop] at
>> com.icl.saxon.aelfred.SAXDriver.startElement(SAXDriver.java:757)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseElement(XmlParser.java:1036)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseDocument(XmlParser.java:510)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.doParse(XmlParser.java:163)
>> [fop] at
>> com.icl.saxon.aelfred.SAXDriver.parse(SAXDriver.java:320)
>> [fop] at
>> org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown
>> Source)
>> [fop] at
>> org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown
>> Source)
>> [fop] at
>> org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown
>> Source)
>> [fop] at
>> org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown
>> Source)
>> [fop] at
>>
>> org.apache.fop.image.loader.batik.PreloaderSVG$Loader.getImage(PreloaderSVG.java:122)
>> [fop] at
>>
>> org.apache.fop.image.loader.batik.PreloaderSVG$Loader.access$100(PreloaderSVG.java:105)
>> [fop] at
>>
>> org.apache.fop.image.loader.batik.PreloaderSVG.preloadImage(PreloaderSVG.java:73)
>> [fop] at
>>
>> org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:165)
>> [fop] at
>>
>> org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:96)
>> [fop] at
>>
>> org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:112)
>> [fop] at
>> org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:79)
>> [fop] at org.apache.fop.fo.FObj.processNode(FObj.java:126)
>> [fop] at
>>
>> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:286)
>> [fop] at
>> org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:163)
>> [fop] at
>> com.icl.saxon.aelfred.SAXDriver.startElement(SAXDriver.java:757)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseElement(XmlParser.java:1041)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseContent(XmlParser.java:1222)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseElement(XmlParser.java:1037)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseContent(XmlParser.java:1222)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseElement(XmlParser.java:1037)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseContent(XmlParser.java:1222)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseElement(XmlParser.java:1037)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseContent(XmlParser.java:1222)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseElement(XmlParser.java:1037)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.parseDocument(XmlParser.java:510)
>> [fop] at
>> com.icl.saxon.aelfred.XmlParser.doParse(XmlParser.java:163)
>> [fop] at
>> com.icl.saxon.aelfred.SAXDriver.parse(SAXDriver.java:320)
>> [fop] at
>> com.icl.saxon.IdentityTransformer.transform(IdentityTransformer.java:59)
>> [fop] at
>> org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214)
>> [fop] at
>> org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
>> [fop] at
>> org.apache.fop.tools.anttasks.FOPTaskStarter.render(Fop.java:558)
>> [fop] at
>> org.apache.fop.tools.anttasks.FOPTaskStarter.run(Fop.java:468)
>> [fop] at org.apache.fop.tools.anttasks.Fop.execute(Fop.java:297)
>> [fop] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [fop] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [fop] at org.apache.tools.ant.Target.execute(Target.java:341)
>> [fop] at
>> org.apache.tools.ant.Target.performTasks(Target.java:369)
>> [fop] at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>> [fop] at
>>
>> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
>> [fop] at
>> org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> [fop] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
>> [fop] at
>> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:107)
>> [fop] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [fop] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [fop] at org.apache.tools.ant.Target.execute(Target.java:341)
>> [fop] at
>> org.apache.tools.ant.Target.performTasks(Target.java:369)
>> [fop] at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>> [fop] at
>>
>> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
>> [fop] at
>> org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> [fop] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
>> [fop] at
>> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:107)
>> [fop] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [fop] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [fop] at org.apache.tools.ant.Target.execute(Target.java:341)
>> [fop] at
>> org.apache.tools.ant.Target.performTasks(Target.java:369)
>> [fop] at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>> [fop] at
>>
>> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
>> [fop] at
>> org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> [fop] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
>> [fop] at
>> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:107)
>> [fop] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [fop] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [fop] at org.apache.tools.ant.Target.execute(Target.java:341)
>> [fop] at
>> org.apache.tools.ant.Target.performTasks(Target.java:369)
>> [fop] at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>> [fop] at
>> org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>> [fop] at
>>
>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>> [fop] at
>> org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> [fop] at org.apache.tools.ant.Main.runBuild(Main.java:668)
>> [fop] at org.apache.tools.ant.Main.startAnt(Main.java:187)
>> [fop] at
>> org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>> [fop] at
>> org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
>> [fop] Caused by: java.lang.ClassNotFoundException:
>> org.w3c.dom.svg.SVGDocument
>> [fop] at java.net.URLClassLoader$1.run(Unknown Source)
>> [fop] at java.security.AccessController.doPrivileged(Native
>> Method)
>> [fop] at java.net.URLClassLoader.findClass(Unknown Source)
>> [fop] at java.lang.ClassLoader.loadClass(Unknown Source)
>> [fop] at java.lang.ClassLoader.loadClass(Unknown Source)
>> [fop] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>> [fop] ... 90 more
>>
>> Any help would be appreciated.
>>
>> Thanks,
>> David Kelly
>> --
>> View this message in context:
>> http://old.nabble.com/Batik-not-in-class-path-tp27327275p27327275.html
>> Sent from the FOP - Users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
--
View this message in context:
http://old.nabble.com/Batik-not-in-class-path-tp27327275p27338924.html
Sent from the FOP - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]