Innhold
/opt/fop/{build,lib}
; JAI komponenter
inkludert libmlib_jai.so, jai_codec.jar, jai_core.jar, og
mlibwrapper_jai.jar
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.
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.
Nedlasting (HTTP): https://archive.apache.org/dist/xmlgraphics/fop/source/fop-2.10-src.tar.gz
Nedlasting MD5 sum: 0815e845757c527e2617aca1ca2d82d1
Nedlastingsstørrelse: 20 MB
Estimert diskplass som kreves: 342 MB (inkludert filer lastet ned til brukermappen)
Estimert byggetid: 0.9 SBU
Påkrevd Ytterligere Nedlastinger:
Maven build system:
https://archive.apache.org/dist/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz
0698a533397eda60cbebcc0fb68ae842
9.0 MB (i tillegg lastes ca. 90 MB ned til byggingsbrukerens
mappe)
Nødvendig oppdatering: https://www.linuxfromscratch.org/patches/blfs/svn/fop-2.10-upstream_fixes-1.patch
Anbefalte pakker
Objects for Formatting Objects (OFFO)
orddelingsmønstre:
https://downloads.sourceforge.net/offo/2.2/offo-hyphenation.zip
bf9c09bf05108ef9661b8f08d91c2336
862 KB
et grafiske miljø (for å kjøre testene), JAI Image I/O Tools, og JEuclid
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.
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
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
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
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.
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
Å 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.
/opt/fop/{build,lib}
; JAI komponenter
inkludert libmlib_jai.so, jai_codec.jar, jai_core.jar, og
mlibwrapper_jai.jar