Toon posts:

XML naar PDF

Pagina: 1
Acties:
  • 148 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Beste lezers,

De search staat er vol van dat weet ik, heb ook al veel uit gezocht via google oid.

Maar ik zit toch nog met een probleem...

ik heb een XML bestand, die automatisch gerenderd wordt door een webapplicatie. (waar ik niks aan kan en mag veranderen), het is de bedoeling dat die XML naar PDF wordt geconverteerd.
heb dit via FOP geprobeert maar die vereist een XSL file die heb ik niet. omdat de layout steeds anders is kan ik ook niet zelf 1 layout maken en dat er op toepassen.

Mijn XML file:
code:
1
<?xml version="1.0" encoding="iso-8859-1"?><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"><fo:layout-master-set><fo:simple-page-master margin="0mm" page-height="101mm" page-width="101mm" master-name="advertisement"><fo:region-body overflow="visible" margin="0mm"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence master-reference="advertisement"><fo:flow overflow="visible" flow-name="xsl-region-body"><fo:block-container overflow="visible" position="absolute" left="10.5mm" top="7.5mm"><fo:block><fo:external-graphic src="url('D:/Inetpub2/website/FlashApp/upload\camera_result.jpg')" scaling="non-uniform" content-height="67.975mm" content-width="67.9mm" /></fo:block></fo:block-container><fo:block-container overflow="visible" background-color="#99CC33" position="absolute" font-family="Arial" font-size="6.5mm" color="#000000" text-align="center" font-weight="bold" text-decoration="none" font-style="normal"  width="100mm" height="15mm" left="0mm" top="0mm"><fo:block>Mooi verhaaltje</fo:block></fo:block-container></fo:flow></fo:page-sequence></fo:root>


Nu weet ik dat het kan zonder een XSL file, want heb RenderX http://www.renderx.com geprobeert, dat werkt maar die software is mij echt veeel te duur.

Als ik bij elke XML die er gemaakt wordt een XSL bij kan laten maken, dan lukt de rest wel met FOP.

Alvast bedankt,

  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 20-04 15:44
Verwijderd schreef op woensdag 02 november 2005 @ 14:59:
ik heb een XML bestand, die automatisch gerenderd wordt door een webapplicatie. (waar ik niks aan kan en mag veranderen), het is de bedoeling dat die XML naar PDF wordt geconverteerd.
heb dit via FOP geprobeert maar die vereist een XSL file die heb ik niet. omdat de layout steeds anders is kan ik ook niet zelf 1 layout maken en dat er op toepassen.
Wat bedoel je met "FOP"? Als je Apache FOP bedoelt moet je toch beter de documentatie lezen, want je hebt geen XSL nodig (typ gewoon "fop bla.fo bla.pdf" en het werkt).

Verwijderd

Topicstarter
Werk met FOP Apache. en dat werkt niet...

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 25-04 21:17

curry684

left part of the evil twins

Aha, "het werkt niet". Nu snappen we exact welke foutmelding je krijgt of wat er in de output niet klopt of over welke missende file hij klaagt :z

Professionele website nodig?


  • Hydra
  • Registratie: September 2000
  • Laatst online: 26-04 10:16
curry684 schreef op woensdag 02 november 2005 @ 15:20:
Aha, "het werkt niet". Nu snappen we exact welke foutmelding je krijgt of wat er in de output niet klopt of over welke missende file hij klaagt :z
:)

Ik heb op m'n stage, jaren terug, met XML / XSLT -> FOP -> PDF gewerkt. "Het werkt niet" is onzin, het is alleen alles behalve triviaal.

https://niels.nu


Verwijderd

Topicstarter
Ow ik geloof wel dat FOP perfect werkt! heb er ook alle vertrouwen in :) alleen het werkt hier niet :)

Krijg nu helemaal geen melding waar ik iets mee kan:

PowerBook-12:~/Desktop/XMLtoPDF/fop Corne$ fop -xml penthion.xml -pdf test.pdf
-bash: fop: command not found

Maar goed dit ligt eerder aan mij als aan FOP denk ik... dus hier ga ik even verder mee spelen :)

Gebruik trouwens wel OS X :)

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 24-04 11:14

mulder

ik spuug op het trottoir

FOP installeren?

oogjes open, snaveltjes dicht


  • Nakebod
  • Registratie: Oktober 2000
  • Laatst online: 20:04

Nakebod

Nope.

Lijkt mij toch een vrij duidelijke foutmelding: fop: command not found.
Dus niet gevonden, dus niet werkend.
Dan lijkt het mij dat er iets niet helemaal goed is geïnstalleerd.

Blog | PVOutput Zonnig Beuningen


Verwijderd

Topicstarter
Hij werkt inmiddels weer :)

ik doe dit:
./fop.sh -xml penthion.xml -awt

Krijg dit:

[ERROR] XSLT file must be specified for the tranform mode

en ik heb dus geen XSLT file :(

[ Voor 42% gewijzigd door Verwijderd op 02-11-2005 15:44 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Verwijderd schreef op woensdag 02 november 2005 @ 15:42:
Hij werkt inmiddels weer :)

ik doe dit:
./fop.sh -xml penthion.xml -awt

Krijg dit:

[ERROR] XSLT file must be specified for the tranform mode

en ik heb dus geen XSLT file :(
Maak van -xml eens -fo ?

Volgens mij is jou file indeling nml ook gewoon fo en niet xml. ;)

En bij -xml ben je verplicht een xsl op te geven :)

Neem je whisky mee, is het te weinig... *zucht*


  • sunturion
  • Registratie: December 2000
  • Laatst online: 25-04 16:44
Ik weet niet wat voor editor je gebruikt maar voor de mac kan je gebruik maken van Oxygen
Hiermee kan je XSLT files editen en validaten. Ik denk dat je met dit stuk software eenvoudig een XSLT kan genereren

In the name of God, impure souls of the living dead shall be banished into eternal damnation. Amen.


Verwijderd

Topicstarter
PowerBook-12:/fop Corne$ ./fop.sh -fo penthion.fo -pdf penthion.pdf

[ERROR] fo file /fop/penthion.fo not found

Ik voel me dan heel dom als het niet lukt :X

dit bestandje heb ik dus van XML naar FO veranderd, staat in de rootmap van FOP

[ Voor 3% gewijzigd door Verwijderd op 02-11-2005 15:57 ]


Verwijderd

Heb je ook wel eens naar Prince XML gekeken? Dan kun je converteren naar PDF via CSS (Cascading Style Sheets). Over het algemeen een stuk eenvoudiger dan via XSL. Het programma kan zowel als stand-alone client draaien als als server module.

Verwijderd

Je xml wordt hier gewoon naar pdf geconverteerd. (door Apache FOP)

Verwijderd

Topicstarter
hmm dat is geen optie, het moet direct vanuit die XML, niet via css oid. aangezien ik niet via een vaste style sheet kan werken.
Verwijderd schreef op woensdag 02 november 2005 @ 16:23:
Je xml wordt hier gewoon naar pdf geconverteerd. (door Apache FOP)
Hmm, tot nu toe gaat dat nog niet, zie meldingen hier boven :)

[ Voor 50% gewijzigd door Verwijderd op 02-11-2005 16:27 ]


Verwijderd

Je xml bestand is al in het .fo formaat dus met het commando:

. fop.sh xmlbestand.xml pdfbestand.pdf moet het gewoon werken (hier althans wel) :P

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 02 november 2005 @ 16:35:
Je xml bestand is al in het .fo formaat dus met het commando:

. fop.sh xmlbestand.xml pdfbestand.pdf moet het gewoon werken (hier althans wel) :P
WOEI! Jij bent de held van de dag!

Het werkt :) ik deed dus steeds met -xml en -pdf er tussen leek me logische.... maar hoeft dus niet :) en het werkt.

Erg bedankt :)

Verwijderd

Topicstarter
Heb ik toch nog een probleempje, daarom kick ik even.

Hij neemt geen plaatjes mee bij het renderen van de PDF. geen JPG en geen GIF.

FOP Apache zegt zelf dat ze GIF en JPG (jpg niet alles) native ondersteunen. maar hij neemt het niet mee, het gaat trouwens nogsteeds om de zelfde XML file, kan je hier boven vinden.

  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Wordt er geen logging gegenereerd?

Ik gebruik het vanuit een Servlet en met log4j geconfigureerd kreeg ik netjes een melding dat het plaatje op locatie x niet gevonden kon worden.

dit zou gewoon moeten werken:
XML:
1
<fo:external-graphic src="images/image.gif"/>


Je moet wel goed rekening houden met je paden iig :)

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
[INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
[INFO] FOP 0.20.5
[INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
[INFO] building formatting object tree
[INFO] setting up fonts
[INFO] [1]
[ERROR] unknown font Arial,normal,bold so defaulted font to any
[ERROR] unknown font Arial,normal,bold so defaulted font to any
[ERROR] unknown font Arial,normal,bold so defaulted font to any
[INFO] Parsing of document complete, stopping renderer

Dat is de code die ik in de terminal krijg, font probleem is nog niet geconfigureerd maar dat is nog niet belangrijk.

Ik kan geen log vinden

[ Voor 3% gewijzigd door Verwijderd op 04-11-2005 10:19 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Waar staat je plaatje en hoe voeg je hem in in je fo file?

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
XML:
1
<fo:external-graphic src="int.gif" scaling="non-uniform" content-height="67.975mm" content-width="67.9mm" />

plaatje staat in de zelfde dir. als de XML file.
plaatje is 1mm kleiner als in het xml bestand staat.

[ Voor 27% gewijzigd door Verwijderd op 04-11-2005 10:26 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Als het goed is is de current dir wel onderdeel van je classpath, want anders vind hij de xml ook niet. Dus dit plaatje zou hij idd ook gewoon moeten kunnen vinden...

Probeer anders even met /int.gif (met slash er voor dus). Misschien dat hij het nu toch niet goed relatief laadt.

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
momania schreef op vrijdag 04 november 2005 @ 10:31:
Als het goed is is de current dir wel onderdeel van je classpath, want anders vind hij de xml ook niet. Dus dit plaatje zou hij idd ook gewoon moeten kunnen vinden...

Probeer anders even met /int.gif (met slash er voor dus). Misschien dat hij het nu toch niet goed relatief laadt.
Ja heb al met slash geprobeert, al een volledig pat vanuit de root gedaan.
heb eerst alle FOP manuals zitten lezen, maar daar staat niks in over het niet laden van een GIF file, JPG kan wel eens een probleem zijn, maar GIF moet werken..

  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Ook al geprobeerd om met -d in debug mode te draaien?
Misschien krijg je wel nuttige logging.

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
tnx voor de tip.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[DEBUG] Input mode: 
[DEBUG] FO 
[DEBUG] fo input file: penthion.xml
[DEBUG] Output mode: 
[DEBUG] pdf
[DEBUG] output file: penthion8.pdf
[DEBUG] OPTIONS
[DEBUG] no user configuration file is used [default]
[DEBUG] debug mode on
[DEBUG] dump configuration
[DEBUG] quiet mode on
[INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
[INFO] base directory: file:/fop/
[INFO] FOP 0.20.5
[INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
[INFO] building formatting object tree
[INFO] setting up fonts
[INFO] [1]
[ERROR] unknown font Arial,normal,bold so defaulted font to any
[ERROR] unknown font Arial,normal,bold so defaulted font to any
[ERROR] unknown font Arial,normal,bold so defaulted font to any
[DEBUG] Last page-sequence produced 1 pages.
[INFO] Parsing of document complete, stopping renderer
[DEBUG] Initial heap size: 693Kb
[DEBUG] Current heap size: 979Kb
[DEBUG] Total memory used: 286Kb
[DEBUG]   Memory use is indicative; no GC was performed
[DEBUG]   These figures should not be used comparatively
[DEBUG] Total time used: 479ms
[DEBUG] Pages rendered: 1
[DEBUG] Avg render time: 479ms/page


Ik gebruik geen config. file, is dat perce nodig?

  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Verwijderd schreef op vrijdag 04 november 2005 @ 11:07:


Ik gebruik geen config. file, is dat perce nodig?
Ik gebruik hem wel..er staat een baseDir in..Standaard zal de basedir wel de working directory zijn, maar toch..

vb:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<configuration>
  <entry>
    <key>baseDir</key>
    <value>.</value>
  </entry>

<fonts>
 <font metrics-file="arial.xml" kerning="yes" embed-file="arial.ttf">
    <font-triplet name="Arial" style="normal" weight="normal"/>
    <font-triplet name="ArialMT" style="normal" weight="normal"/>
 </font>
</fonts>

</configuration>
Voor een image kan je ook nog een url gebruiken, misschien dat je het daarmee werkend krijgt.
XML:
1
<fo:external-graphic src="url(../images/image.gif)"/>

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
werkt jammer genoeg niet, had url ook al geprobeert.
vind het een appart probleem :X

  • Grub
  • Registratie: Juni 1999
  • Laatst online: 11-02-2024
Hoi

je kunt beter vector based images zoals .eps of .svg gebruiken in je pdf want gif images zien er echt niet uit, pdf is zelf ook vector.

Maar ik heb nog wel een paar stukjes code moet ik even zoeken, hold on.
code:
1
2
3
4
5
6
7
8
9
10
11
12
<fo:block-container position="absolute" top="0mm" left="0mm" width="167mm" height="50mm">
    <fo:block text-align="right">
        <fo:external-graphic width="58px" height="86px" src="file:///C:\vector.eps"/>
        <fo:external-graphic src="file:///C:\logo.gif"/>
        <fo:external-graphic src="file:///C:/test/bgn-logo2.eps"/>
        <fo:instream-foreign-object>
            <svg:svg width="72.48px" height="107.424px" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                <svg:image x="0" y="0" width="72.48px" height="107.424px" xlink:href="file:///C:/test/bgn-logo3.svg"/>
            </svg:svg>
        </fo:instream-foreign-object>
    </fo:block>
</fo:block-container>
Wat hierboven staat zou volgens mij alle vier moeten werken, maar ik heb het niet getest dus je zal zelf ff moeten experimenteren. De onderste is t meest geavanceerd, je kunt namelijk met xlink op die manier met svg heel je eigen vector based image opzetten.

Wat ik me herinner is dat FOP scaling van images niet ondersteund. Dus als je vector based image gebruikt moet er in default size in je image staan. Bitmap images hebben dat natuurlijk altijd al. Vervolgens kun je met FOP de exacte size van de image opgeven, maar volgens mij hoeft dat niet perse.

Succes dr mee, en foei niet meer bashen op FOP want het is op zich best n goeie oplossing, hoewel niet de meest makkelijke en nog niet alles wordt ondersteund.

[ Voor 96% gewijzigd door Grub op 04-11-2005 14:42 ]


Verwijderd

Topicstarter
Teneerste, ik wil zeker niet Bashen op FOP, mooie software alleen het is wat lastig te configureren...

Ik ga jou opties even proberen en laat het dan weten.


Ik heb het getest, maar het werkt niet :'( snap het niet :? waarom werkt het bij anderen wel en hier niet...


Wat misschien een idee kan zijn, ik heb zelf geen app. die een XML kan genereren.
dat iemand als die dat wil even snel een XML maakt met een plaatje er in, en dan probeer ik daar een pdfje van te maken... dan weet ik of mijn FOP apache werkt :)

[ Voor 60% gewijzigd door Verwijderd op 04-11-2005 15:59 ]


  • hlz
  • Registratie: Juni 2003
  • Laatst online: 26-08-2025

hlz

Verwijderd schreef op woensdag 02 november 2005 @ 16:01:
Heb je ook wel eens naar Prince XML gekeken? Dan kun je converteren naar PDF via CSS (Cascading Style Sheets). Over het algemeen een stuk eenvoudiger dan via XSL. Het programma kan zowel als stand-alone client draaien als als server module.
Dit gaat mijn leven vast een beetje vereenvoudigen _/-\o_ ... mijn dank is groot.

[ Voor 3% gewijzigd door hlz op 04-11-2005 17:39 ]

Pagina: 1