Print Builder
From PlcWiki
(Difference between revisions)
m (→Vytvoření PDF) |
m (→Vytvoření PDF) |
||
Line 18: | Line 18: | ||
Příklad URL: | Příklad URL: | ||
- | http://localhost:8080/PrintBuilder/?templatename=my_template | + | http://localhost:8080/PrintBuilder/?templatename=my_template |
- | &singleTAG=first&singleTAG=second&food[0]=milk&food[0]=egg&vehicle[0]=renault&vehicle[0]=mercedes&food[1]=onion&food[1]=potato&vehicle[1]=fiat&vehicle[1]=subaru | + | &singleTAG=first&singleTAG=second |
+ | &food[0]=milk&food[0]=egg&vehicle[0]=renault&vehicle[0]=mercedes | ||
+ | &food[1]=onion&food[1]=potato&vehicle[1]=fiat&vehicle[1]=subaru | ||
+ | <java> | ||
map.put("singleTAG", new String[] { "first", "second" }); | map.put("singleTAG", new String[] { "first", "second" }); | ||
map.put("food[0]", new String[] { "milk", "egg" }); | map.put("food[0]", new String[] { "milk", "egg" }); | ||
Line 26: | Line 29: | ||
map.put("food[1]", new String[] { "onion", "potato" }); | map.put("food[1]", new String[] { "onion", "potato" }); | ||
map.put("vehicle[1]", new String[] { "fiat", "subaru" }); | map.put("vehicle[1]", new String[] { "fiat", "subaru" }); | ||
+ | </java> | ||
Výsledné XML na serveru: | Výsledné XML na serveru: |
Revision as of 16:12, 7 March 2012
Contents |
Popis
Webové řešení tvorby souborů PDF postavené na základě projektu Apache FOP (Formatting Objects Processor).
Integrace
Příklady použití
- Volání servletu metodou POST, který je nasazen samostatně na nějakém dostupném serveru.
- Způsob "vše v jednom" - zkopírování servletu do webového projektu včetně knihoven atp.
Vytvoření PDF
- Vytvoření šablony XSL a její umístění do adresáře na který se odkazuje web.xml parametrem "templatedir"
- Název šablony (název souboru) figuruje v parametru URL "templatename" (bez extenze)
- Data určená k vyplnění šablony se posílají buď přímo v URL paramentru "xmldata" formou xml dokumentu, nebo jsou použity paramentry URL, kde potom klíčem je tag a hodnotou je text
Příklad URL:
http://localhost:8080/PrintBuilder/?templatename=my_template &singleTAG=first&singleTAG=second &food[0]=milk&food[0]=egg&vehicle[0]=renault&vehicle[0]=mercedes &food[1]=onion&food[1]=potato&vehicle[1]=fiat&vehicle[1]=subaru
map.put("singleTAG", new String[] { "first", "second" }); map.put("food[0]", new String[] { "milk", "egg" }); map.put("vehicle[0]", new String[] { "renault", "mercedes" }); map.put("food[1]", new String[] { "onion", "potato" }); map.put("vehicle[1]", new String[] { "fiat", "subaru" });
Výsledné XML na serveru:
<root> <list> <singleTAG>first</singleTAG> <part><vehicle>fiat</vehicle><food>onion</food></part> <part><food>milk</food><vehicle>renault</vehicle></part> </list> <list> <singleTAG>second</singleTAG> <part><vehicle>subaru</vehicle><food>potato</food></part> <part><food>egg</food><vehicle>mercedes</vehicle></part> </list> </root>
Fonty
fop.xconf
<fonts> <directory>/Users/johndoe/fonts</directory> </fonts>