Movatterモバイル変換


[0]ホーム

URL:


 

Apache XML Graphics Project Logo

Apache™ FOP

This document is for an old version of FOP that is no longer supported.Latest version of this page
The Apache FOP Project

The Apache™ FOP Project

Running Apache™ FOP

System Requirements

The following software must be installed:

The following software is optional, depending on your needs:

In addition, the following system requirements apply:

Installation

Instructions

Basic FOP installation consists of first unzipping the.gz file that is the distribution medium, then unarchiving the resulting.tar file in a directory/folder that is convenient on your system. Please consult your operating system documentation or Zip application software documentation for instructions specific to your site.

Problems

Some Mac OSX users have experienced filename truncation problems using Stuffit to unzip and unarchive their distribution media. This is a legacy of older Mac operating systems, which had a 31-character pathname limit. Several Mac OSX users have recommended that Mac OSX users use the shell commandtar -xzf instead.

Starting FOP as a Standalone Application

Using the fop script or batch file

The usual and recommended practice for starting FOP from the command line is to run the batch file fop.bat (Windows) or the shell script fop (Unix/Linux). These scripts require that the environment variable JAVA_HOME be set to a path pointing to the appropriate Java installation on your system. Macintosh OSX includes a Java environment as part of its distribution. We are told by Mac OSX users that the path to use in this case is/Library/Java/Home.Caveat: We suspect that, as Apple releases new Java environments and as FOP upgrades the minimum Java requirements, the two will inevitably not match on some systems. Please seeJava on Mac OSX FAQ for information as it becomes available.

USAGEFop[options][-fo|-xml]infile[-xsl file][-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl|-ps|-txt|-at [mime]|-print]<outfile>[OPTIONS]-versionprintFOPversionandexit-ddebugmode-xdumpconfigurationsettings-qquietmode-ccfg.xmluseadditionalconfigurationfilecfg.xml-llangthelanguagetouseforuserinformation-nocsdisablecomplexscriptfeatures-rrelaxed/lessstrictvalidation(whereavailable)-dpixxxtargetresolutionindotsperinch(dpi)wherexxxisanumber-sforareatreeXML,downtoblockareasonly-vruninverbosemode(currentlysimplyprintFOPversionandcontinue)-o[password]PDFfilewillbeencryptedwithoptionownerpassword-u[password]PDFfilewillbeencryptedwithoptionuserpassword-noprintPDFfilewillbeencryptedwithoutprintingpermission-nocopyPDFfilewillbeencryptedwithoutcopycontentpermission-noeditPDFfilewillbeencryptedwithouteditcontentpermission-noannotationsPDFfilewillbeencryptedwithouteditannotationpermission-nofillinformsPDFfilewillbeencryptedwithoutfillinformspermission-noaccesscontentPDFfilewillbeencryptedwithoutextracttextandgraphicspermission-noassembledocPDFfilewillbeencryptedwithoutassemblethedocumentpermission-noprinthqPDFfilewillbeencryptedwithoutprinthighqualitypermission-aenablesaccessibilityfeatures(TaggedPDFetc.,defaultoff)-pdfprofileprofPDFfilewillbegeneratedwiththespecifiedprofile(Examplesforprof:PDF/A-1borPDF/X-3:2003)-conserveenablememory-conservationpolicy(tradesmemory-consumptionfordiskI/O)(Note:currentlyonlyinfluenceswhethertheareatreeisserialized.)-cachespecifiesafile/directorypathlocation-flushflushesthecurrentfontcachefile[INPUT]infilexsl:foinputfile(thesameasthenext)(use'-'forinfiletopipeinputfromstdin)-foinfilexsl:foinputfile-xmlinfilexmlinputfile,mustbeusedtogetherwith-xsl-atininfileareatreeinputfile-ifininfileintermediateformatinputfile-imageininfileimageinputfile(pipingthroughstdinnotsupported)-xslstylesheetxsltstylesheet-paramnamevalue<value>touseforparameter<name>inxsltstylesheet(repeat'-param name value'foreachparameter)-catalogusecatalogresolverforinputXMLandXSLTfiles[OUTPUT]outfileinputwillberenderedasPDFintooutfile(use'-'foroutfiletopipeoutputtostdout)-pdfoutfileinputwillberenderedasPDF(outfilereq'd)  -pdfa1b outfile   input will be rendered as PDF/A-1b compliant PDF                    (outfile req'd,sameas"-pdf outfile -pdfprofile PDF/A-1b")-awtinputwillbedisplayedonscreen-rtfoutfileinputwillberenderedasRTF(outfilereq'd)  -pcl outfile      input will be rendered as PCL (outfile req'd)-psoutfileinputwillberenderedasPostScript(outfilereq'd)  -afp outfile      input will be rendered as AFP (outfile req'd)-tiffoutfileinputwillberenderedasTIFF(outfilereq'd)  -png outfile      input will be rendered as PNG (outfile req'd)-txtoutfileinputwillberenderedasplaintext(outfilereq'd)  -at [mime] out    representation of area tree as XML (outfile req'd)specifyoptionalmimeoutputtoallowtheATtobeconvertedtofinalformatlater-if[mime]outrepresentationofdocumentinintermediateformatXML(outfilereq'd)                    specify optional mime output to allow the IF to be converted                    to final format later  -print            input file will be rendered and sent to the printer                    see options with "-print help"  -out mime outfile input will be rendered using the given MIME type                    (outfile req'd)Example:"-out application/pdf D:\out.pdf"(Tip:"-out list"printsthelistofsupportedMIMEtypes)-svgoutfileinputwillberenderedasanSVGslidesfile(outfilereq'd)Experimentalfeature-requiresadditionalfop-sandbox.jar.-fooutoutfileinputwillonlybeXSLtransformed.TheintermediateXSL-FOfileissavedandnorenderingisperformed.(Onlyavailableifyouuse-xmland-xslparameters)[Examples]fopfoo.fofoo.pdffop-fofoo.fo-pdffoo.pdf(doesthesameasthepreviousline)fop-xmlfoo.xml-xslfoo.xsl-pdffoo.pdffop-xmlfoo.xml-xslfoo.xsl-fooutfoo.fofop-xml--xslfoo.xsl-pdf-fopfoo.fo-miffoo.miffopfoo.fo-rtffoo.rtffopfoo.fo-printfopfoo.fo-awt

PDF encryption is only available if FOP was compiled with encryption supportand if compatible encryption support is available at run time. Currently, only the JCE is supported. Check theDetails.

Writing your own script

FOP's entry point for your own scripts is the classorg.apache.fop.cli.Main. The general pattern for the command line is:java -classpath <CLASSPATH> org.apache.fop.cli.Main <arguments>. The arguments consist of the options and infile and outfile specifications as shown above for the standard scripts. You may wish to review the standard scripts to make sure that you get your environment properly configured.

Running with java's -jar option

As an alternative to the start scripts you can runjava -jar path/to/build/fop.jar <arguments>, relying on FOP to build the classpath for running FOP dynamically, seebelow. If you use hyphenation, you must putfop-hyph.jar in thelib directory.

You can also runjava -jar path/to/fop.jar <arguments>, relying on theClass-Path entry in the manifest file. This works if you putfop.jar and all jar files from thelib directory in a single directory. If you use hyphenation, you must also putfop-hyph.jar in that directory.

In both cases the arguments consist of the options and infile and outfile specifications as shown above for the standard scripts.

FOP's dynamical classpath construction

If FOP is started without a proper classpath, it tries to add its dependencies dynamically. If the system propertyfop.home contains the name of a directory, then FOP uses that directory as the base directory for its search. Otherwise the current working directory is the base directory. If the base directory is calledbuild, then its parent directory becomes the base directory.

FOP expects to findfop.jar in thebuild subdirectory of the base directory, and adds it to the classpath. Subsequently FOP adds alljar files in the lib directory to the classpath. The lib directory is either thelib subdirectory of the base directory, or, if that does not exist, the base directory itself.

If the system propertyfop.optional.lib contains the name of a directory, then alljar files in that directory are also added to the classpath. See the methodsgetJARList andcheckDependencies inorg.apache.fop.cli.Main.

Using Xalan to Check XSL-FO Input

FOP sessions that use -xml and -xsl input instead of -fo input are actually controlling two distinct conversions: Tranforming XML to XSL-FO, then formatting the XSL-FO to PDF (or another FOP output format). Although FOP controls both of these processes, the first is included merely as a convenience and for performance reasons. Only the second is part of FOP's core processing. If a user has a problem running FOP, it is important to determine which of these two processes is causing the problem. If the problem is in the first process, the user's stylesheet is likely the cause. The FOP development team does not have resources to help with stylesheet issues, although we have included links to some usefulSpecifications andBooks/Articles. If the problem is in the second process, FOP may have a bug or an unimplemented feature that does require attention from the FOP development team.

The user is always responsible to provide correct XSL-FO code to FOP.

In the case of using -xml and -xsl input, although the user is responsible for the XSL-FO code that is FOP's input, it is not visible to the user. To make the intermediate FO file visible, the FOP distribution includes the "-foout" option which causes FOP to run only the first (transformation) step, and write the results to a file. (See also the Xalan command-line below)

When asking for help on the FOP mailing lists,never attach XML and XSL to illustrate the issue. Always run the XSLT step (-foout) and send the resulting XSL-FO file instead. Of course, be sure that the XSL-FO file is correct before sending it.

The -foout option works the same way as if you would call theXalan command-line:

java org.apache.xalan.xslt.Process -IN xmlfile -XSL file -OUT outfile

Note that there are some subtle differences between the FOP and Xalan command-lines.

Memory Usage

FOP can consume quite a bit of memory, even though this has been continually improved. This is partly inherent to the formatting process and partly caused by implementation choices. All FO processors currently on the market have memory problems with certain layouts.

If you are running out of memory when using FOP, here are some ideas that may help:

Problems

If you have problems running FOP, please see the"How to get Help" page.

Apache Software Foundation

Copyright © 2025 The Apache Software Foundation, Licensed undertheApache License, Version 2.0.
Apache, Apache XML Graphics, Apache FOP, Apache Batik, the Apache logo, and theApache XML Graphics logos are trademarks ofThe ApacheSoftware Foundation. All other marks mentioned may be trademarks or registeredtrademarks of their respective owners.


[8]ページ先頭

©2009-2026 Movatter.jp