FOP(1)

πŸ“¦
version 2.10 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu resolute, ubuntu stonking

✨ FOP(1) ✨

okay bestie, come SIT β€” this is the manual page for fop, a User Command πŸ’…


🌸 NAME 🌸

fop β€” a command line wrapper for the java version of fop. that's it, that's the whole name section, we move 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so. Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL formatting objects (XSL-FO) and an output independent formatter. Iconic behaviour honestly.

It's a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. the way it just... reads and renders πŸ’…

Output formats currently supported include PDF, PS, PCL, AFP, XML (area tree representation), Print, AWT and PNG, and to a lesser extent, RTF and TXT. The primary output target is PDF ⭐


πŸŽ€ SYNOPSIS πŸŽ€

fop [options] [-fo|-xml] infile [-xsl file]
[-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl|-ps|-txt|-at [mime]|-print]
<outfile>

πŸ’… OPTIONS πŸ’…

  • -version β€” prints the FOP version and then dips out, exit stage left πŸ’¨
  • -x β€” dumps the configuration settings, like a little config receipts moment
  • -c cfg.xml β€” use an additional configuration file, and it's called cfg.xml
  • -l lang β€” the language to use for user information 🌍
  • -nocs β€” disables complex script features
  • -r β€” relaxed / less strict validation (where available)
  • -dpi xxx β€” target resolution in dots per inch (dpi), where xxx is a number πŸ”
  • -s β€” for area tree XML, goes down to block areas only
  • -v β€” run in verbose mode (currently it's simply printing the FOP version and then continuing, that's the whole vibe)
  • -o [password] β€” the PDF file will be encrypted with the option owner password πŸ”
  • -u [password] β€” the PDF file will be encrypted with the option user password πŸ”
  • -noprint β€” the PDF file will be encrypted without printing permission
  • -nocopy β€” the PDF file will be encrypted without copy content permission
  • -noedit β€” the PDF file will be encrypted without edit content permission
  • -noannotations β€” the PDF file will be encrypted without edit annotation permission
  • -nofillinforms β€” the PDF file will be encrypted without fill in interactive form fields permission
  • -noaccesscontent β€” the PDF file will be encrypted without extract text and graphics permission
  • -noassembledoc β€” the PDF file will be encrypted without assemble the document permission
  • -noprinthq β€” the PDF file will be encrypted without print high quality permission
  • -a β€” enables accessibility features (Tagged PDF etc., default off) 🫢
  • -pdfprofile prof β€” the PDF file will be generated with the specified profile (examples for prof: PDF/A-1b or PDF/X-3:2003)
  • -conserve β€” enable memory-conservation policy (trades memory-consumption for disk I/O). Note: currently it only influences whether the area tree is serialized.
  • -cache β€” specifies a file/directory path location for the font cache file
  • -flush β€” flushes the current font cache file

🌈 INPUT 🌈

  • infile β€” xsl:fo input file (the same as the next one). use - for infile to pipe input from stdin 🫢
  • -fo infile β€” xsl:fo input file
  • -xml infile β€” xml input file, and it must be used together with -xsl
  • -atin infile β€” area tree input file
  • -ifin infile β€” intermediate format input file
  • -imagein infile β€” image input file (piping through stdin is not supported πŸ™ˆ)
  • -xsl stylesheet β€” xslt stylesheet
  • -param name value β€” the <value> to use for parameter <name> in the xslt stylesheet (repeat -param name value for each parameter, yes, once per param, no shortcuts)
  • -catalog β€” use catalog resolver for input XML and XSLT files

🧚 OUTPUT 🧚

  • outfile β€” input will be rendered as PDF into outfile (use - for outfile to pipe output to stdout)
  • -pdf outfile β€” input will be rendered as PDF (outfile req'd)
  • -pdfa1b outfile β€” input will be rendered as PDF/A-1b compliant PDF (outfile req'd, same as -pdf outfile -pdfprofile PDF/A-1b)
  • -awt β€” input will be displayed on screen ✨
  • -rtf outfile β€” input will be rendered as RTF (outfile req'd)
  • -pcl outfile β€” input will be rendered as PCL (outfile req'd)
  • -ps outfile β€” input will be rendered as PostScript (outfile req'd)
  • -afp outfile β€” input will be rendered as AFP (outfile req'd)
  • -tiff outfile β€” input will be rendered as TIFF (outfile req'd)
  • -png outfile β€” input will be rendered as PNG (outfile req'd)
  • -txt outfile β€” input will be rendered as plain text (outfile req'd)
  • -at [mime] out β€” representation of area tree as XML (outfile req'd). specify the optional mime output to allow the AT to be converted to the final format later πŸ’…
  • -if [mime] out β€” representation of the document in intermediate format XML (outfile req'd). specify the optional mime output to allow the IF to be converted to the 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 prints the list of supported MIME types and exits)
  • -svg outfile β€” input will be rendered as an SVG slides file (outfile req'd). Experimental feature β€” requires the additional fop-sandbox.jar.
  • -foout outfile β€” input will only be XSL transformed. The intermediate XSL-FO file is saved and no rendering is performed. (Only available if you use the -xml and -xsl parameters)

πŸ‘‘ EXAMPLES πŸ‘‘

fop foo.fo foo.pdf

fop -fo foo.fo -pdf foo.pdf (does the same as the previous line)

fop -xml foo.xml -xsl foo.xsl -pdf foo.pdf

fop -xml foo.xml -xsl foo.xsl -foout foo.fo

fop -xml - -xsl foo.xsl -pdf -

fop foo.fo -mif foo.mif

fop foo.fo -rtf foo.rtf

fop foo.fo -print

fop foo.fo -awt

πŸ’œ HYPHENATION πŸ’œ

fop can make use of external hyphenation rules that can be supplied in the form of a hyphenation jar. You can find such a one at http://offo.sourceforge.net/.

To actually use that, set the FOP_HYPHENATION_PATH environment variable to the full path of this file, or use configuration files, see below πŸ‘‡


πŸ“ CONFIGURATION FILES πŸ“

fop reads two configuration files on startup: /etc/fop.conf and $HOME/.foprc. These are plain shell script files where you can define, for instance, the FOP_HYPHENATION_PATH variable.

Another way to extend is conf.d/ files. Simply add a configuration file into /etc/fop.conf.d/my.conf ✨


🫢 JAVA-WRAPPERS NOTE 🫢

This program is a shell script wrapper based on java-wrappers(7). You therefore benefit from several features; please see the java-wrappers(7) manual page for more information about them.


🌸 AUTHOR 🌸

Wrapper author: Ola Lundqvist <opal@debian.org>

This manual page was written by Mathieu Malaterre <malat@debian.org>, for the Debian project (and may be used by others).


⭐ SEE ALSO ⭐

fop-ttfreader(1), java-wrappers(7).


and that's the whole page bestie!! this was fop Version 2.5, from July 2020 β€” go forth and render, ily πŸ’–πŸŒˆ

πŸ“¦ where this page comes from