fop-2.10

Introduksjon til fop

FOP (Formatting Objects Processor) pakken inneholder en utskriftsformatering drevet av XSL formateringsobjekter (XSL-FO). Det er en Java applikasjon som leser et formateringsobjekttre og gjengir de resulterende sidene til en spesifisert utdata. Utdataformater som for øyeblikket støttes inkluderer PDF, PCL, PostScript, SVG, XML (arealtrerepresentasjon), print, AWT, MIF og ASCII tekst. Det primære utdatamålet er PDF.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

Ytterligere Nedlastinger

Påkrevd Ytterligere Nedlastinger:

Anbefalte pakker

fop Avhengigheter

Påkrevd

apache-ant-1.10.15

Valgfri

et grafiske miljø (for å kjøre testene), JAI Image I/O Tools, og JEuclid

Installasjon av fop

Forsikre deg om at $JAVA_HOME er riktig innstilt før du begynner byggingen. For å bygge JIMI SDK og/eller XMLUnit utvidelsesklasser, sørg for at tilsvarende .jar filer kan bli funnet via CLASSPATH miljøvariabelen.

Installere OFFO Orddelingsmønstre

Kopier XML orddelingsmønstrene til fop kildetreet ved å kjøre følgende kommandoer:

unzip ../offo-hyphenation.zip &&
cp offo-hyphenation/hyph/* fop/hyph &&
rm -rf offo-hyphenation

Installere en midlertidig Maven binær

Fra og med fop-2.5 er Maven byggesystemet påkrevd. Vi bruker binæren levert av apache, som vi installerer på et midlertidig sted:

tar -xf ../apache-maven-3.9.4-bin.tar.gz -C /tmp

Installere fop Komponenter

Først, fiks en byggefeil forårsaket av Java-23:

patch -Np1 -i ../fop-2.10-upstream_fixes-1.patch

javadoc kommandoer som leveres med OpenJDK 10 og senere har blitt mye strengere enn tidligere versjoner når det gjelder samsvar med Javadoc kommentarene i kildekoden til HTML. Det gjør at FOP dokumentasjonen ikke oppfyller disse standardene, så samsvarskontrollene må bli deaktivert. Dette kan gjøres med følgende kommando:

sed -i '\@</javad@i\
<arg value="-Xdoclint:none"/>\
<arg value="--allow-script-in-comments"/>\
<arg value="--ignore-source-errors"/>' \
    fop/build.xml

Kompilere fop ved å kjøre følgende kommandoer:

cd fop &&

LC_ALL=en_US.UTF-8                     \
PATH=$PATH:/tmp/apache-maven-3.9.4/bin \
ant all javadocs &&

mv build/javadocs .

Denne pakken kommer med en testpakke, men java infrastrukturen installert i denne boken tillater ikke å kjøre den.

Nå, installer Fop som root bruker:

install -v -d -m755 -o root -g root          /opt/fop-2.10 &&
cp -vR build conf examples fop* javadocs lib /opt/fop-2.10 &&
chmod a+x /opt/fop-2.10/fop                                &&
ln -v -sfn fop-2.10 /opt/fop

Til slutt fjerner du den midlertidige kopien av Apache Maven:

rm -rf /tmp/apache-maven-3.9.4

Parameterforklaringer

sed -i ... build.xml: Dette legger til tre brytere til javadoc kommandoen, forhindrer at noen feil oppstår når du bygger dokumentasjonen.

export LC_ALL=en_US.UTF-8: kompilatoren mislykkes hvis du bruker en ASCII lokalitet.

ant target: Dette leser filen build.xml og bygger målet: compile kompilerer java kildene, jar-main genererer jar arkiver, jar-hyphenation genererer orddeling mønstre for FOP, junit kjører junit tester, og javadocs bygger dokumentasjonen. all målet kjører alt ovenfor.

ln -v -sf fop-2.10 /opt/fop: Dette er valgfritt og skaper en bekvemmelighets symbolkobling slik at $FOP_HOME ikke trenger å endres hver gang det er en endring av pakkeversjon.

Konfigurere fop

Konfigurasjonsfiler

~/.foprc

Konfigurasjonsinformasjon

Bruk av fop for å behandle noen store FO'er (inkludert FO avledet fra BLFS XML kilder), kan føre til minnefeil. Med mindre du legger til en parameter til java kommandoen brukt i fop skriptet kan du motta meldinger som ligner på det som vises nedenfor:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

For å unngå feil som dette, må du sende en ekstra parameter til java kommandoen brukt i fop skriptet. Dette kan oppnås ved å lage en ~/.foprc (som er hentet fra fop skriptet) og legge til parameteren til FOP_OPTS miljøvariabelen.

fop skriptet ser etter en FOP_HOME miljøvariabel for å finne fop klassebiblioteker. Du kan lage denne variabelen ved å bruke ~/.foprc filen også. Opprett en ~/.foprc fil ved hjelp av følgende kommandoer:

cat > ~/.foprc << "EOF"
FOP_OPTS="-Xmx<RAM_Installed>m"
FOP_HOME="/opt/fop"
EOF

Erstatt <RAM_Installed> med et tall som representerer mengden RAM installert på datamaskinen din (i megabyte). Et eksempel vil være FOP_OPTS="-Xmx768m".

For å inkludere fop skript i din sti, oppdater den systemomfattende profilen med følgende kommando som root bruker:

cat > /etc/profile.d/fop.sh << "EOF"
# Begin /etc/profile.d/fop.sh

pathappend /opt/fop

# End /etc/profile.d/fop.sh
EOF
[Notat]

Notat

Å kjøre fop kan være noe detaljert. Standard loggingsnivå kan endres fra INFO til hvilken som helst av FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, ALL eller OFF. For å gjøre dette, rediger $JAVA_HOME/jre/lib/logging.properties og endre oppføringene for .level og java.util.logging.ConsoleHandler.level til ønsket verdi.

Innhold

Installerte Programmer: fop
Installerte Biblioteker: fop.jar og en rekke støttebibliotekklasser lokalisert i /opt/fop/{build,lib}; JAI komponenter inkludert libmlib_jai.so, jai_codec.jar, jai_core.jar, og mlibwrapper_jai.jar
Installert Mappe: /opt/fop-2.10

Korte Beskrivelser

fop

er et innpakningsskript til java kommandoen som setter opp fop miljøet og passerer de nødvendige parameterne

fop.jar

inneholder alle fop Java klassene