FOP Seitennummierung

Paddy.

Aktives Mitglied
habe eine (Rezept-)xml mit schema
Code:
<root>
 <rezept id="1">
  	<title>Rezept Titel</title>
	<BildURL>BildURL</BildURL>
	<Zutaten>
		<zutat>zutat 1zutat>
		<zutat>zutat 2</zutat>
		<zutat>zutat 3</zutat>
	</Zutaten>
	<Zubereitung>ZubereitungsanleitungZubereitung>
</rezept>
...
</root>
die wollte ich mit xsl und FOP in eine PDF Transformieren.
Klappt soweit ganz gut allerdings bin ich auf nun auf Folgends Problem gestoßen ich möchte die Seitenzahlen in der Fusszeile angeben
Code:
            <xsl:attribute name="master-reference">A4Paper</xsl:attribute>
            <fo:static-content flow-name="xsl-region-after">
                <fo:block text-align-last="end" font-size="7pt"> <fo:page-number/>  </fo:block>
            </fo:static-content>
sollte das ja leisten nun ist meine Seitenzahl in gleicher höhe wie der normale Text.
hab zwar mit den attributen margin-top und so rum gespielt aber kam nüx bei rum.

???:L
Außerdem würde gerne ein Inhaltsverzeichnis mit Referenzen machen das man in PDf anklicken kann (falls das geht)

PS: Falls die ziemlich lange XSL sehen will kann die auch posten.
 
S

SlaterB

Gast
inwieweit funktionieren oder funktionien nicht google-Beispiele wie
Headers and Footers
?

nach inhaltsverzeichnis kann man auch suchen, die Beispiele kamen mir jetzt nicht so bekannt vor als dass ich eins davon speziell empfehlen würde,
meine eigenen laufenden Formate könnte ich erst am Montag in 8 Tagen posten, solange Urlaub ;)
 

Paddy.

Aktives Mitglied
also so sieht zu zeit meine xsl aus.
Ja kanst mal in 8 Tage posten
Wünsche dir schönen Urlaub :)
 

Anhänge

  • makeFo.xsl.txt
    8,1 KB · Aufrufe: 8

Paddy.

Aktives Mitglied
noch ne frage zum thema FOP
hab die fop-jar in mein netbean-Projekt eingebunden und wollte meine Fo-Datei in ne PDF umwandeln aus java herraus aber die beispiele die gefunden hab scheinen net zu gehn???:L




hat jmd ne Idee Lösung für FO2PDF-Funktion?
 
S

SlaterB

Gast
na Fop im Java-Programm verwenden, ganz normal
Apache FOP: Embedding

wobei es da durchaus Probleme gibt, je nach Fop-Version neuen Code, andere dritte Libraries einzubinden usw.,
wenn du aber nach der Webseite mit Beispielcode gehst, sollte das doch alles zusammenpassen,
oder welche Fehler genau treten auf?
(noch 6 Tage ;) )

edit:
ok, FO zu PDF ist nicht ganz der Standard, benutze ich selber auch nicht, aber was ist mit
ExampleFO2PDF.java
in der Anleitung?
 

Paddy.

Aktives Mitglied
jetzt ja das ganze endet in
Java:
Exception in thread "Thread-3" java.lang.NoClassDefFoundError: org/apache/xmlgraphics/image/loader/ImageContext
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

in der Zeile: private FopFactory fopFactory = FopFactory.newInstance();
 
S

SlaterB

Gast
jars containing the class org.apache.xmlgraphics.image.loader.ImageContext
sagt dir welche Library benötigt wird (leider schlecht/ kaum das Programm selber)

hast du die Anleitung exakt befolgt, die benötigten anderen Libraries geladen?
für Version 0.95 etwa
Running Apache FOP

The following software must be installed:

* Java 1.4.x or later Runtime Environment.
o Many JREs >=1.4 contain older JAXP implementations (which often contain bugs). It's usually a good idea to replace them with a current implementation.
* Apache FOP. The FOP distribution includes all libraries that you will need to run a basic FOP installation. These can be found in the [fop-root]/lib directory. These libraries include the following:
o Apache XML Graphics Commons, an shared library for Batik and FOP.
o Apache Batik, an SVG library.
o Apache Commons Logging, a logger abstraction kit.
o Apache Commons IO, a library with I/O utilities.
o Apache Excalibur/Avalon Framework, for XML configuration handling.
 

Paddy.

Aktives Mitglied
:lol:
habs grade gefunden und wollte fragen welche jars ich alle brauche....

hat sich dann wohl grade erledigt mit der Frage, nun gehts danke :)

Hoffentlich kann der auch "große" Fo-Dateien verarbeiten :oops: meine gehen bei 20MB los und da sind bild-URLs drin...

bin mal gespannt
 

Paddy.

Aktives Mitglied
ja das aktuelle Problem ist momentan ein Java Heap Space Error

hab meinem Dokument bereits 1200Mb zugewiesen ;(

Außerdem ist die Datei beim öffnen fehlerhaft.???:L
 

Paddy.

Aktives Mitglied
Java:
WARNUNG: Line 1 of a paragraph overflows the available area by 32440mpt. (fo:block, location: 316722/11)
03.05.2010 20:24:05 org.apache.fop.layoutmgr.inline.LineLayoutManager$LineBreakingAlgorithm updateData2
WARNUNG: Line 1 of a paragraph overflows the available area by 32440mpt. (fo:block, location: 319330/11)
03.05.2010 20:24:05 org.apache.fop.layoutmgr.inline.LineLayoutManager$LineBreakingAlgorithm updateData2
WARNUNG: Line 1 of a paragraph overflows the available area by 32440mpt. (fo:block, location: 320101/11)
03.05.2010 20:24:05 org.apache.fop.layoutmgr.inline.LineLayoutManager$LineBreakingAlgorithm updateData2
WARNUNG: Line 1 of a paragraph overflows the available area by 32440mpt. (fo:block, location: 320194/11)
03.05.2010 20:24:05 org.apache.fop.layoutmgr.inline.LineLayoutManager$LineBreakingAlgorithm updateData2
WARNUNG: Line 1 of a paragraph overflows the available area by 32440mpt. (fo:block, location: 325017/11)
03.05.2010 20:24:09 org.apache.fop.layoutmgr.inline.LineLayoutManager$LineBreakingAlgorithm updateData2
WARNUNG: Line 1 of a paragraph overflows the available area by 32440mpt. (fo:block, location: 342054/11)

Java:
Exception in thread "Thread-3" java.lang.OutOfMemoryError: Java heap space
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.getMethod0(Class.java:2670)
        at java.lang.Class.getMethod(Class.java:1603)
        at org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:438)
        at org.apache.commons.logging.LogFactory$1.run(LogFactory.java:222)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:218)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
        at org.apache.fop.layoutmgr.inline.BasicScaledBaselineTable.<init>(BasicScaledBaselineTable.java:37)
        at org.apache.fop.layoutmgr.inline.ScaledBaselineTableFactory.makeFontScaledBaselineTable(ScaledBaselineTableFactory.java:44)
        at org.apache.fop.layoutmgr.inline.ScaledBaselineTableFactory.makeFontScaledBaselineTable(ScaledBaselineTableFactory.java:56)
        at org.apache.fop.layoutmgr.inline.AlignmentContext.<init>(AlignmentContext.java:179)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:580)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:294)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:116)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:294)
        at org.apache.fop.layoutmgr.list.ListItemLayoutManager.getNextKnuthElements(ListItemLayoutManager.java:218)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:294)
        at org.apache.fop.layoutmgr.list.ListBlockLayoutManager.getNextKnuthElements(ListBlockLayoutManager.java:119)
        at org.apache.fop.layoutmgr.table.TableCellLayoutManager.getNextKnuthElements(TableCellLayoutManager.java:170)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.createElementsForRowGroup(RowGroupLayoutManager.java:120)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.getNextKnuthElements(RowGroupLayoutManager.java:60)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getKnuthElementsForRowIterator(TableContentLayoutManager.java:220)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getNextKnuthElements(TableContentLayoutManager.java:172)
        at org.apache.fop.layoutmgr.table.TableLayoutManager.getNextKnuthElements(TableLayoutManager.java:247)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:294)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:116)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:294)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:116)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:107)
        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:145)
:rtfm: und das bei ner Fo-Datei von 30,9MB ;(
 

Neue Themen


Oben