Boxes around each character
Fred <[email protected]> Fri, 22 Jan 2016 23:44:14 +0100
| Newsgroups | gmane.text.xml.batik.user |
|---|---|
| Message-ID | <[email protected]> |
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Hi,
we have the same problem as Urmo Rae (see, “Strange behaviour when rendering SVG texts under java program vs jruby” from 19 Jan 2016 ).
We are using FOP to render XSL-FO, with some instream SVG graphics into PDF.
All worked very well with FOP 1.0 and Batik 1.7.
Since we have updated to FOP 2.0 (and now 2.1) and Batik 1.8, we get boxes around every single character when the text is in the SVG Part of the document.
But the problem only occurs when executed from a servlet on tomcat 6.
When FOP is called standalone from the command line on the same machine, the PDF looks fine.
Please have a look to the attached example.
Thanks a lot
Fred
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY
Content-Type: application/xml;
name="example.xml"
Content-Disposition: attachment;
filename="example.xml"
Content-Transfer-Encoding: base64
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8ZXhhbXBsZT4KCTxw
YWdlPjwvcGFnZT4KPC9leGFtcGxlPg==
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY
Content-Type: application/octet-stream;
name="example.xslt"
Content-Disposition: attachment;
filename="example.xslt"
Content-Transfer-Encoding: base64
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8eHNsOnN0eWxlc2hl
ZXQgdmVyc2lvbj0iMS4wIiB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1Ry
YW5zZm9ybSIgeG1sbnM6Zm89Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML0Zvcm1hdCIgeG1s
bnM6bWF0aD0iamF2YS5sYW5nLk1hdGgiIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciPgoJPHhzbDpvdXRwdXQgbWV0aG9kPSJ4bWwiIGluZGVudD0ieWVzIi8+Cgk8eHNsOnRl
bXBsYXRlIG1hdGNoPSIvZXhhbXBsZSI+CgkJPGZvOnJvb3Q+CgkJCTxmbzpsYXlvdXQtbWFzdGVy
LXNldD4KCQkJCTxmbzpzaW1wbGUtcGFnZS1tYXN0ZXIgbWFzdGVyLW5hbWU9IkE0IiBwYWdlLWhl
aWdodD0iMjk3bW0iIHBhZ2Utd2lkdGg9IjIxMG1tIiBtYXJnaW4tdG9wPSIxMG1tIiBtYXJnaW4t
Ym90dG9tPSIxMG1tIiBtYXJnaW4tbGVmdD0iMjBtbSIgbWFyZ2luLXJpZ2h0PSIxMG1tIj4KCQkJ
CQk8Zm86cmVnaW9uLWJvZHkgbWFyZ2luLXRvcD0iMmNtIiBtYXJnaW4tYm90dG9tPSIyY20iLz4K
CQkJCQk8Zm86cmVnaW9uLWJlZm9yZSBleHRlbnQ9IjJjbSIvPgoJCQkJCTxmbzpyZWdpb24tYWZ0
ZXIgZXh0ZW50PSIyY20iLz4KCQkJCTwvZm86c2ltcGxlLXBhZ2UtbWFzdGVyPgoJCQkJPGZvOnBh
Z2Utc2VxdWVuY2UtbWFzdGVyIG1hc3Rlci1uYW1lPSJTVEQiPgoJCQkJCTxmbzpyZXBlYXRhYmxl
LXBhZ2UtbWFzdGVyLXJlZmVyZW5jZSBtYXN0ZXItcmVmZXJlbmNlPSJBNCIvPgoJCQkJPC9mbzpw
YWdlLXNlcXVlbmNlLW1hc3Rlcj4KCQkJPC9mbzpsYXlvdXQtbWFzdGVyLXNldD4KCQkJPHhzbDpm
b3ItZWFjaCBzZWxlY3Q9InBhZ2UiPgoJCQkJPGZvOnBhZ2Utc2VxdWVuY2UgbWFzdGVyLXJlZmVy
ZW5jZT0iU1REIiBpbml0aWFsLXBhZ2UtbnVtYmVyPSIxIiBmb3JjZS1wYWdlLWNvdW50PSJuby1m
b3JjZSI+CgkJCQkJPGZvOmZsb3cgZmxvdy1uYW1lPSJ4c2wtcmVnaW9uLWJvZHkiPgoJCQkJCQk8
eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY29udGVudCIvPgoJCQkJCTwvZm86Zmxvdz4KCQkJCTwv
Zm86cGFnZS1zZXF1ZW5jZT4KCQkJPC94c2w6Zm9yLWVhY2g+CgkJPC9mbzpyb290PgoJPC94c2w6
dGVtcGxhdGU+CgkKCgk8eHNsOnRlbXBsYXRlIG5hbWU9ImNvbnRlbnQiPgoJCQkJPGZvOmJsb2Nr
LWNvbnRhaW5lciBoZWlnaHQ9IjIyLjVjbSI+CgkJCQkJPGZvOmJsb2NrIHRleHQtYWxpZ249ImNl
bnRlciI+CgkJCQkJCTxmbzpibG9jaz4KCQkJCQkJCTxmbzppbnN0cmVhbS1mb3JlaWduLW9iamVj
dD4KCQkJCQkJCQk8c3ZnOnN2ZyB3aWR0aD0iMTdjbSIgaGVpZ2h0PSIyMmNtIj4KCQkJCQkJCQkJ
PHN2ZzpzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCgkJCQkJCQkJICAgICAgdGV4dCB7
Zm9udC1mYW1pbHk6QXJpYWwsVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6MjBweDt9CgkJ
CQkJCQkJICAgIF1dPjwvc3ZnOnN0eWxlPgoJCQkJCQkJCQk8c3ZnOmcgc3R5bGU9ImZpbGw6IzAw
MDAwMDsgc3Ryb2tlOm5vbmUiIHRyYW5zZm9ybT0icm90YXRlKC01MCkgdHJhbnNsYXRlKC0yMjAs
MzUwKSI+CgkJCQkJCQkJCQk8c3ZnOnRleHQgeD0iM21tIiB5PSIzbW0iPgoJCQkJCQkJCQkJCVRo
aXMgcGFnZSBpcyBpbnRlbnRpb25hbGx5IGxlZnQgYmxhbmsuCgkJCQkJCQkJCQk8L3N2Zzp0ZXh0
PgoJCQkJCQkJCQk8L3N2ZzpnPgoJCQkJCQkJCTwvc3ZnOnN2Zz4KCQkJCQkJCTwvZm86aW5zdHJl
YW0tZm9yZWlnbi1vYmplY3Q+CgkJCQkJCTwvZm86YmxvY2s+CgkJCQkJPC9mbzpibG9jaz4KCQkJ
CTwvZm86YmxvY2stY29udGFpbmVyPgoJCgk8L3hzbDp0ZW1wbGF0ZT4KCQo8L3hzbDpzdHlsZXNo
ZWV0Pgo=
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY
Content-Type: application/pdf;
name="from_servlet.pdf"
Content-Disposition: attachment;
filename="from_servlet.pdf"
Content-Transfer-Encoding: base64
JVBERi0xLjQKJaqrrK0KNCAwIG9iago8PAovQ3JlYXRvciAoQXBhY2hlIEZPUCBWZXJzaW9uIDIu
MSkKL1Byb2R1Y2VyIChBcGFjaGUgRk9QIFZlcnNpb24gMi4xKQovQ3JlYXRpb25EYXRlIChEOjIw
MTYwMTIyMTcxNTM0KzAxJzAwJykKPj4KZW5kb2JqCjUgMCBvYmoKPDwKICAvTiAzCiAgL0xlbmd0
aCA2IDAgUgogIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nJ2Wd1RT2RaHz703vVCS
EIqU0GtoUgJIDb1IkS4qMQkQSsCQACI2RFRwRFGRpggyKOCAo0ORsSKKhQFRsesEGUTUcXAUG5ZJ
ZK0Z37x5782b3x/3fmufvc/dZ+991roAkPyDBcJMWAmADKFYFOHnxYiNi2dgBwEM8AADbADgcLOz
Qhb4RgKZAnzYjGyZE/gXvboOIPn7KtM/jMEA/5+UuVkiMQBQmIzn8vjZXBkXyTg9V5wlt0/JmLY0
Tc4wSs4iWYIyVpNz8ixbfPaZZQ858zKEPBnLc87iZfDk3CfjjTkSvoyRYBkX5wj4uTK+JmODdEmG
QMZv5LEZfE42ACiS3C7mc1NkbC1jkigygi3jeQDgSMlf8NIvWMzPE8sPxc7MWi4SJKeIGSZcU4aN
kxOL4c/PTeeLxcwwDjeNI+Ix2JkZWRzhcgBmz/xZFHltGbIiO9g4OTgwbS1tvijUf138m5L3dpZe
hH/uGUQf+MP2V36ZDQCwpmW12fqHbWkVAF3rAVC7/YfNYC8AirK+dQ59cR66fF5SxOIsZyur3Nxc
SwGfaykv6O/6nw5/Q198z1K+3e/lYXjzkziSdDFDXjduZnqmRMTIzuJw+Qzmn4f4Hwf+dR4WEfwk
vogvlEVEy6ZMIEyWtVvIE4gFmUKGQPifmvgPw/6k2bmWidr4EdCWWAKlIRpAfh4AKCoRIAl7ZCvQ
730LxkcD+c2L0ZmYnfvPgv59V7hM/sgWJH+OY0dEMrgSUc7smvxaAjQgAEVAA+pAG+gDE8AEtsAR
uAAP4AMCQSiIBHFgMeCCFJABRCAXFIC1oBiUgq1gJ6gGdaARNIM2cBh0gWPgNDgHLoHLYATcAVIw
Dp6AKfAKzEAQhIXIEBVSh3QgQ8gcsoVYkBvkAwVDEVAclAglQ0JIAhVA66BSqByqhuqhZuhb6Ch0
GroADUO3oFFoEvoVegcjMAmmwVqwEWwFs2BPOAiOhBfByfAyOB8ugrfAlXADfBDuhE/Dl+ARWAo/
gacRgBAROqKLMBEWwkZCkXgkCREhq5ASpAJpQNqQHqQfuYpIkafIWxQGRUUxUEyUC8ofFYXiopah
VqE2o6pRB1CdqD7UVdQoagr1EU1Ga6LN0c7oAHQsOhmdiy5GV6Cb0B3os+gR9Dj6FQaDoWOMMY4Y
f0wcJhWzArMZsxvTjjmFGcaMYaaxWKw61hzrig3FcrBibDG2CnsQexJ7BTuOfYMj4nRwtjhfXDxO
iCvEVeBacCdwV3ATuBm8Et4Q74wPxfPwy/Fl+EZ8D34IP46fISgTjAmuhEhCKmEtoZLQRjhLuEt4
QSQS9YhOxHCigLiGWEk8RDxPHCW+JVFIZiQ2KYEkIW0h7SedIt0ivSCTyUZkD3I8WUzeQm4mnyHf
J79RoCpYKgQo8BRWK9QodCpcUXimiFc0VPRUXKyYr1iheERxSPGpEl7JSImtxFFapVSjdFTphtK0
MlXZRjlUOUN5s3KL8gXlRxQsxYjiQ+FRiij7KGcoY1SEqk9lU7nUddRG6lnqOA1DM6YF0FJppbRv
aIO0KRWKip1KtEqeSo3KcRUpHaEb0QPo6fQy+mH6dfo7VS1VT1W+6ibVNtUrqq/V5qh5qPHVStTa
1UbU3qkz1H3U09S3qXep39NAaZhphGvkauzROKvxdA5tjssc7pySOYfn3NaENc00IzRXaO7THNCc
1tLW8tPK0qrSOqP1VJuu7aGdqr1D+4T2pA5Vx01HoLND56TOY4YKw5ORzqhk9DGmdDV1/XUluvW6
g7ozesZ6UXqFeu169/QJ+iz9JP0d+r36UwY6BiEGBQatBrcN8YYswxTDXYb9hq+NjI1ijDYYdRk9
MlYzDjDON241vmtCNnE3WWbSYHLNFGPKMk0z3W162Qw2szdLMasxGzKHzR3MBea7zYct0BZOFkKL
BosbTBLTk5nDbGWOWtItgy0LLbssn1kZWMVbbbPqt/pobW+dbt1ofceGYhNoU2jTY/OrrZkt17bG
9tpc8lzfuavnds99bmdux7fbY3fTnmofYr/Bvtf+g4Ojg8ihzWHS0cAx0bHW8QaLxgpjbWadd0I7
eTmtdjrm9NbZwVnsfNj5FxemS5pLi8ujecbz+PMa54256rlyXOtdpW4Mt0S3vW5Sd113jnuD+wMP
fQ+eR5PHhKepZ6rnQc9nXtZeIq8Or9dsZ/ZK9ilvxNvPu8R70IfiE+VT7XPfV8832bfVd8rP3m+F
3yl/tH+Q/zb/GwFaAdyA5oCpQMfAlYF9QaSgBUHVQQ+CzYJFwT0hcEhgyPaQu/MN5wvnd4WC0IDQ
7aH3wozDloV9H44JDwuvCX8YYRNRENG/gLpgyYKWBa8ivSLLIu9EmURJonqjFaMTopujX8d4x5TH
SGOtYlfGXorTiBPEdcdj46Pjm+KnF/os3LlwPME+oTjh+iLjRXmLLizWWJy++PgSxSWcJUcS0Ykx
iS2J7zmhnAbO9NKApbVLp7hs7i7uE54Hbwdvku/KL+dPJLkmlSc9SnZN3p48meKeUpHyVMAWVAue
p/qn1qW+TgtN25/2KT0mvT0Dl5GYcVRIEaYJ+zK1M/Myh7PMs4qzpMucl+1cNiUKEjVlQ9mLsrvF
NNnP1IDERLJeMprjllOT8yY3OvdInnKeMG9gudnyTcsn8n3zv16BWsFd0VugW7C2YHSl58r6VdCq
pat6V+uvLlo9vsZvzYG1hLVpa38otC4sL3y5LmZdT5FW0ZqisfV+61uLFYpFxTc2uGyo24jaKNg4
uGnupqpNH0t4JRdLrUsrSt9v5m6++JXNV5VffdqStGWwzKFsz1bMVuHW69vctx0oVy7PLx/bHrK9
cwdjR8mOlzuX7LxQYVdRt4uwS7JLWhlc2V1lULW16n11SvVIjVdNe61m7aba17t5u6/s8djTVqdV
V1r3bq9g7816v/rOBqOGin2YfTn7HjZGN/Z/zfq6uUmjqbTpw37hfumBiAN9zY7NzS2aLWWtcKuk
dfJgwsHL33h/093GbKtvp7eXHgKHJIcef5v47fXDQYd7j7COtH1n+F1tB7WjpBPqXN451ZXSJe2O
6x4+Gni0t8elp+N7y+/3H9M9VnNc5XjZCcKJohOfTuafnD6Vderp6eTTY71Leu+ciT1zrS+8b/Bs
0Nnz53zPnen37D953vX8sQvOF45eZF3suuRwqXPAfqDjB/sfOgYdBjuHHIe6Lztd7hmeN3ziivuV
01e9r567FnDt0sj8keHrUddv3ki4Ib3Ju/noVvqt57dzbs/cWXMXfbfkntK9ivua9xt+NP2xXeog
PT7qPTrwYMGDO2PcsSc/Zf/0frzoIflhxYTORPMj20fHJn0nLz9e+Hj8SdaTmafFPyv/XPvM5Nl3
v3j8MjAVOzX+XPT806+bX6i/2P/S7mXvdNj0/VcZr2Zel7xRf3PgLett/7uYdxMzue+x7ys/mH7o
+Rj08e6njE+ffgP3hPP7CmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iagoyNTk2CmVuZG9iago3IDAg
b2JqClsvSUNDQmFzZWQgNSAwIFJdCmVuZG9iago4IDAgb2JqCjw8CiAgL1R5cGUgL01ldGFkYXRh
CiAgL1N1YnR5cGUgL1hNTAogIC9MZW5ndGggOSAwIFIKPj4Kc3RyZWFtCjw/eHBhY2tldCBiZWdp
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cgo8eDp4bXBtZXRhIHhtbG5z
Ong9ImFkb2JlOm5zOm1ldGEvIj4KPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KPHJkZjpEZXNjcmlwdGlvbiB4bWxuczpkYz0i
aHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHJkZjphYm91dD0iIj4KPGRjOmxhbmd1
YWdlPngtdW5rbm93bjwvZGM6bGFuZ3VhZ2U+CjxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9k
Yzpmb3JtYXQ+CjxkYzpkYXRlPjIwMTYtMDEtMjJUMTc6MTU6MzQrMDE6MDA8L2RjOmRhdGU+Cjwv
cmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOnBkZj0iaHR0cDovL25zLmFk
b2JlLmNvbS9wZGYvMS4zLyIgcmRmOmFib3V0PSIiPgo8cGRmOlBERlZlcnNpb24+MS40PC9wZGY6
UERGVmVyc2lvbj4KPHBkZjpQcm9kdWNlcj5BcGFjaGUgRk9QIFZlcnNpb24gMi4xPC9wZGY6UHJv
ZHVjZXI+CjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOnhtcD0iaHR0
cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgcmRmOmFib3V0PSIiPgo8eG1wOkNyZWF0ZURhdGU+
MjAxNi0wMS0yMlQxNzoxNTozNCswMTowMDwveG1wOkNyZWF0ZURhdGU+Cjx4bXA6Q3JlYXRvclRv
b2w+QXBhY2hlIEZPUCBWZXJzaW9uIDIuMTwveG1wOkNyZWF0b3JUb29sPgo8eG1wOk1ldGFkYXRh
RGF0ZT4yMDE2LTAxLTIyVDE3OjE1OjM0KzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgo8L3JkZjpE
ZXNjcmlwdGlvbj4KPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI/PgoK
CmVuZHN0cmVhbQplbmRvYmoKOSAwIG9iago4NjkKZW5kb2JqCjEyIDAgb2JqCjw8IC9MZW5ndGgg
MTMgMCBSIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4nK2YS28bNxSF9/wV3ASwF2b4
Gj42XRRoAwTowojQTZCFnMimW42V2ErT/vtejmWIvNIhvIgMWyTPkOc7NDmvb8JITT9X9St5o1LK
8vMsvh3ajZyCCtlKm5TzoUrXp2KalHbpud8b+eHPd/Jps//+lWpavqPfO2r9537z42b3r9Aq10/M
L2MYr0x0S5M0KvhFXgZ7Ix83T7vt9/397kE+fV5v7x/u5O3uUUarCPmX5VsYpevH6nwYsP5dei8g
+/XjvoLQyDamYKO80iqGoD195KFo0yQPR8RASDaoSCOaELx02alJT97rtFB9/ETjf6FU7+n3L5qK
H8LLP8SvK/H2dyOtlqvb46Qm6koDhBjb4mqWHy9Wl5WEyI28KJfypXh/LD7J5pCvx/Z103zXlDdN
WXYjXrVDnmt/ODRbebE/HrE5tp4/oB1id/bg9bG4bQ5uy/81TNs+zkvX2+MRjXvT7+a8zfos09/q
8pNcvRe/rZbF/POWBnWZbD4s+cM6sYd1ommdGE0LpVkHxtLAtWyCnIWl7pZqMedO2XbK1aTSFHRw
LpLSDAaFfqwCfWbhaP8vNdrTfa9W6Y0wG85ToBMxBGUT1aZp4gyN0jthOpyoQKdZeMjgMcOrFM6A
nGYxQfIJpsV0OFGBTrMIVuVQeyXeq1V6J0yHExXoNIvola7kKbBOjdD7YDacpyCfWdDFzdJW8sbx
Tq3SG0E2mKZAn1nkoBxtJDrN8I3UKmz/Qzacp0CnmU5d9d6gdgu8Wyf1XpgPZyrYq2LAfp3Umw0I
B7kKdiMQg0HMAOR10gkIciMQi/8xFsceMOJkBbtVEDwjFrsNGHGygt0IxEXlazVbw0FaibsNGEcz
gtwIxDu64zh7Fe4k5jZgxMkKdiOQie6x66XY0H0KA2kl5jZgxMkKdiOQQCcfqtqT+TgKzGnAh1MV
5EQIUatE6NZP/BzcScwL8qFEBTtVCDQPEfkM2HCigpwIIdGipouhtYZfjjuJe0E+PA/IiSAyLWja
4iZazyFaiXkN+HCqgt3qvXdSgeaQ1hM/13QScxsw4mQFuxGIoZ1FVePjyVNAK/Fbbcg4SFawWwWB
ATqJuQ0YcbKC3QjEYhA7AHmddAKC3AjE4X+Nw7EHjDhZwW4VBM+Iw24DRpysYDcC8XjXeLwiR4yj
GUFuBFIvBbTtdc78wthJzG3AiJMV7FZB8vLQq6PnJ8JOYm4DRpysYDcCqdclmkk9acdBWom7DRhh
soLdCCQG5WkmtTYna6SVmNuAEScr2I1Akl6ePzUl4SCtxNwGjDhZwW4Ekk19DE05xpPF2krMbcCI
kxXsNgunXX0aTdmmk/c9rcTcBow4WcFu9b0TBjEQZMA4SFawWwVJtZpyfZ3NQRqJv2TCIDhZER/E
Nf08v6fePHxZaifv1iN9p8k8v3m/Fv8DzUu4sQplbmRzdHJlYW0KZW5kb2JqCjEzIDAgb2JqCjEw
NzMKZW5kb2JqCjEwIDAgb2JqCjw8CiAgL1Jlc291cmNlcyAzIDAgUgogIC9UeXBlIC9QYWdlCiAg
L01lZGlhQm94IFswIDAgNTk1LjI3NSA4NDEuODg5XQogIC9Dcm9wQm94IFswIDAgNTk1LjI3NSA4
NDEuODg5XQogIC9CbGVlZEJveCBbMCAwIDU5NS4yNzUgODQxLjg4OV0KICAvVHJpbUJveCBbMCAw
IDU5NS4yNzUgODQxLjg4OV0KICAvUGFyZW50IDEgMCBSCiAgL0NvbnRlbnRzIDEyIDAgUgo+Pgpl
bmRvYmoKMTQgMCBvYmoKPDwKICAvVHlwZSAvRm9udAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNl
Rm9udCAvSGVsdmV0aWNhCiAgL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjEg
MCBvYmoKPDwgL1R5cGUgL1BhZ2VzCi9Db3VudCAxCi9LaWRzIFsxMCAwIFIgXSA+PgplbmRvYmoK
MiAwIG9iago8PAogIC9UeXBlIC9DYXRhbG9nCiAgL1BhZ2VzIDEgMCBSCiAgL0xhbmcgKHgtdW5r
bm93bikKICAvTWV0YWRhdGEgOCAwIFIKICAvUGFnZUxhYmVscyAxMSAwIFIKPj4KZW5kb2JqCjMg
MCBvYmoKPDwKICAvRm9udCA8PCAvRjEgMTQgMCBSID4+CiAgL1Byb2NTZXQgWy9QREYgL0ltYWdl
QiAvSW1hZ2VDIC9UZXh0XQogIC9Db2xvclNwYWNlIDw8IC9EZWZhdWx0UkdCIDcgMCBSID4+Cj4+
CmVuZG9iagoxMSAwIG9iago8PCAvTnVtcyBbMCA8PCAvUyAvRCA+Pl0gPj4KZW5kb2JqCnhyZWYK
MCAxNQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDUzNTYgMDAwMDAgbiAKMDAwMDAwNTQxNSAw
MDAwMCBuIAowMDAwMDA1NTI3IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMDE0
NSAwMDAwMCBuIAowMDAwMDAyODI2IDAwMDAwIG4gCjAwMDAwMDI4NDYgMDAwMDAgbiAKMDAwMDAw
Mjg3OSAwMDAwMCBuIAowMDAwMDAzODM3IDAwMDAwIG4gCjAwMDAwMDUwMjYgMDAwMDAgbiAKMDAw
MDAwNTY1MSAwMDAwMCBuIAowMDAwMDAzODU2IDAwMDAwIG4gCjAwMDAwMDUwMDUgMDAwMDAgbiAK
MDAwMDAwNTI1MCAwMDAwMCBuIAp0cmFpbGVyCjw8CiAgL1Jvb3QgMiAwIFIKICAvSW5mbyA0IDAg
UgogIC9JRCBbPDc5NzE3NkUwOUUwMjI4QjY0OEJBQUZBQzMxNkI3ODJDPiA8Nzk3MTc2RTA5RTAy
MjhCNjQ4QkFBRkFDMzE2Qjc4MkM+XQogIC9TaXplIDE1Cj4+CnN0YXJ0eHJlZgo1Njk1CiUlRU9G
Cg==
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY
Content-Type: text/x-java;
name="SimpleFopTest.java"
Content-Disposition: attachment;
filename="SimpleFopTest.java"
Content-Transfer-Encoding: 7bit
package servlets;
import java.io.File;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamSource;
import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.MimeConstants;
public class SimpleFopTest extends HttpServlet{
private static final long serialVersionUID = -9095843288238294076L;
HttpServletRequest request;
HttpServletResponse response;
private TransformerFactory tFactory = TransformerFactory.newInstance();
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
String realPath=request.getSession().getServletContext().getRealPath("/");
String xsltPath=realPath+"/dokumente/xslt/example.xslt";
String xmlPath=realPath+"/dokumente/xslt/example.xml";
System.out.println("xslt="+xsltPath);
System.out.println("xml="+xmlPath);
try {
response.setContentType("application/pdf");
FopFactory fopFactory = FopFactory.newInstance(new File("./").toURI());
ByteArrayOutputStream out = new ByteArrayOutputStream();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, response.getOutputStream());
Source xsltSrc = new StreamSource(new File(xsltPath));
Transformer transformer = tFactory.newTransformer(xsltSrc);
Result res = new SAXResult(fop.getDefaultHandler());
//Setup input
Source src = new StreamSource(new File(xmlPath));
//Start the transformation and rendering process
transformer.transform(src, res);
//Prepare response
response.setContentType("application/pdf");
response.setContentLength(out.size());
//Send content to Browser
response.getOutputStream().write(out.toByteArray());
response.getOutputStream().flush();
} catch (Exception ex) {
throw new ServletException(ex);
}
}
}
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY
Content-Type: application/pdf;
name="standalone.pdf"
Content-Disposition: attachment;
filename="standalone.pdf"
Content-Transfer-Encoding: base64
JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovQ3JlYXRvciAoQXBhY2hlIEZPUCBWZXJzaW9uIDIu
MSkKL1Byb2R1Y2VyIChBcGFjaGUgRk9QIFZlcnNpb24gMi4xKQovQ3JlYXRpb25EYXRlIChEOjIw
MTYwMTIyMTczMTQwKzAxJzAwJykKPj4KZW5kb2JqCjIgMCBvYmoKPDwKICAvTiAzCiAgL0xlbmd0
aCAzIDAgUgogIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nJ2Wd1RT2RaHz703vVCS
EIqU0GtoUgJIDb1IkS4qMQkQSsCQACI2RFRwRFGRpggyKOCAo0ORsSKKhQFRsesEGUTUcXAUG5ZJ
ZK0Z37x5782b3x/3fmufvc/dZ+991roAkPyDBcJMWAmADKFYFOHnxYiNi2dgBwEM8AADbADgcLOz
Qhb4RgKZAnzYjGyZE/gXvboOIPn7KtM/jMEA/5+UuVkiMQBQmIzn8vjZXBkXyTg9V5wlt0/JmLY0
Tc4wSs4iWYIyVpNz8ixbfPaZZQ858zKEPBnLc87iZfDk3CfjjTkSvoyRYBkX5wj4uTK+JmODdEmG
QMZv5LEZfE42ACiS3C7mc1NkbC1jkigygi3jeQDgSMlf8NIvWMzPE8sPxc7MWi4SJKeIGSZcU4aN
kxOL4c/PTeeLxcwwDjeNI+Ix2JkZWRzhcgBmz/xZFHltGbIiO9g4OTgwbS1tvijUf138m5L3dpZe
hH/uGUQf+MP2V36ZDQCwpmW12fqHbWkVAF3rAVC7/YfNYC8AirK+dQ59cR66fF5SxOIsZyur3Nxc
SwGfaykv6O/6nw5/Q198z1K+3e/lYXjzkziSdDFDXjduZnqmRMTIzuJw+Qzmn4f4Hwf+dR4WEfwk
vogvlEVEy6ZMIEyWtVvIE4gFmUKGQPifmvgPw/6k2bmWidr4EdCWWAKlIRpAfh4AKCoRIAl7ZCvQ
730LxkcD+c2L0ZmYnfvPgv59V7hM/sgWJH+OY0dEMrgSUc7smvxaAjQgAEVAA+pAG+gDE8AEtsAR
uAAP4AMCQSiIBHFgMeCCFJABRCAXFIC1oBiUgq1gJ6gGdaARNIM2cBh0gWPgNDgHLoHLYATcAVIw
Dp6AKfAKzEAQhIXIEBVSh3QgQ8gcsoVYkBvkAwVDEVAclAglQ0JIAhVA66BSqByqhuqhZuhb6Ch0
GroADUO3oFFoEvoVegcjMAmmwVqwEWwFs2BPOAiOhBfByfAyOB8ugrfAlXADfBDuhE/Dl+ARWAo/
gacRgBAROqKLMBEWwkZCkXgkCREhq5ASpAJpQNqQHqQfuYpIkafIWxQGRUUxUEyUC8ofFYXiopah
VqE2o6pRB1CdqD7UVdQoagr1EU1Ga6LN0c7oAHQsOhmdiy5GV6Cb0B3os+gR9Dj6FQaDoWOMMY4Y
f0wcJhWzArMZsxvTjjmFGcaMYaaxWKw61hzrig3FcrBibDG2CnsQexJ7BTuOfYMj4nRwtjhfXDxO
iCvEVeBacCdwV3ATuBm8Et4Q74wPxfPwy/Fl+EZ8D34IP46fISgTjAmuhEhCKmEtoZLQRjhLuEt4
QSQS9YhOxHCigLiGWEk8RDxPHCW+JVFIZiQ2KYEkIW0h7SedIt0ivSCTyUZkD3I8WUzeQm4mnyHf
J79RoCpYKgQo8BRWK9QodCpcUXimiFc0VPRUXKyYr1iheERxSPGpEl7JSImtxFFapVSjdFTphtK0
MlXZRjlUOUN5s3KL8gXlRxQsxYjiQ+FRiij7KGcoY1SEqk9lU7nUddRG6lnqOA1DM6YF0FJppbRv
aIO0KRWKip1KtEqeSo3KcRUpHaEb0QPo6fQy+mH6dfo7VS1VT1W+6ibVNtUrqq/V5qh5qPHVStTa
1UbU3qkz1H3U09S3qXep39NAaZhphGvkauzROKvxdA5tjssc7pySOYfn3NaENc00IzRXaO7THNCc
1tLW8tPK0qrSOqP1VJuu7aGdqr1D+4T2pA5Vx01HoLND56TOY4YKw5ORzqhk9DGmdDV1/XUluvW6
g7ozesZ6UXqFeu169/QJ+iz9JP0d+r36UwY6BiEGBQatBrcN8YYswxTDXYb9hq+NjI1ijDYYdRk9
MlYzDjDON241vmtCNnE3WWbSYHLNFGPKMk0z3W162Qw2szdLMasxGzKHzR3MBea7zYct0BZOFkKL
BosbTBLTk5nDbGWOWtItgy0LLbssn1kZWMVbbbPqt/pobW+dbt1ofceGYhNoU2jTY/OrrZkt17bG
9tpc8lzfuavnds99bmdux7fbY3fTnmofYr/Bvtf+g4Ojg8ihzWHS0cAx0bHW8QaLxgpjbWadd0I7
eTmtdjrm9NbZwVnsfNj5FxemS5pLi8ujecbz+PMa54256rlyXOtdpW4Mt0S3vW5Sd113jnuD+wMP
fQ+eR5PHhKepZ6rnQc9nXtZeIq8Or9dsZ/ZK9ilvxNvPu8R70IfiE+VT7XPfV8832bfVd8rP3m+F
3yl/tH+Q/zb/GwFaAdyA5oCpQMfAlYF9QaSgBUHVQQ+CzYJFwT0hcEhgyPaQu/MN5wvnd4WC0IDQ
7aH3wozDloV9H44JDwuvCX8YYRNRENG/gLpgyYKWBa8ivSLLIu9EmURJonqjFaMTopujX8d4x5TH
SGOtYlfGXorTiBPEdcdj46Pjm+KnF/os3LlwPME+oTjh+iLjRXmLLizWWJy++PgSxSWcJUcS0Ykx
iS2J7zmhnAbO9NKApbVLp7hs7i7uE54Hbwdvku/KL+dPJLkmlSc9SnZN3p48meKeUpHyVMAWVAue
p/qn1qW+TgtN25/2KT0mvT0Dl5GYcVRIEaYJ+zK1M/Myh7PMs4qzpMucl+1cNiUKEjVlQ9mLsrvF
NNnP1IDERLJeMprjllOT8yY3OvdInnKeMG9gudnyTcsn8n3zv16BWsFd0VugW7C2YHSl58r6VdCq
pat6V+uvLlo9vsZvzYG1hLVpa38otC4sL3y5LmZdT5FW0ZqisfV+61uLFYpFxTc2uGyo24jaKNg4
uGnupqpNH0t4JRdLrUsrSt9v5m6++JXNV5VffdqStGWwzKFsz1bMVuHW69vctx0oVy7PLx/bHrK9
cwdjR8mOlzuX7LxQYVdRt4uwS7JLWhlc2V1lULW16n11SvVIjVdNe61m7aba17t5u6/s8djTVqdV
V1r3bq9g7816v/rOBqOGin2YfTn7HjZGN/Z/zfq6uUmjqbTpw37hfumBiAN9zY7NzS2aLWWtcKuk
dfJgwsHL33h/093GbKtvp7eXHgKHJIcef5v47fXDQYd7j7COtH1n+F1tB7WjpBPqXN451ZXSJe2O
6x4+Gni0t8elp+N7y+/3H9M9VnNc5XjZCcKJohOfTuafnD6Vderp6eTTY71Leu+ciT1zrS+8b/Bs
0Nnz53zPnen37D953vX8sQvOF45eZF3suuRwqXPAfqDjB/sfOgYdBjuHHIe6Lztd7hmeN3ziivuV
01e9r567FnDt0sj8keHrUddv3ki4Ib3Ju/noVvqt57dzbs/cWXMXfbfkntK9ivua9xt+NP2xXeog
PT7qPTrwYMGDO2PcsSc/Zf/0frzoIflhxYTORPMj20fHJn0nLz9e+Hj8SdaTmafFPyv/XPvM5Nl3
v3j8MjAVOzX+XPT806+bX6i/2P/S7mXvdNj0/VcZr2Zel7xRf3PgLett/7uYdxMzue+x7ys/mH7o
+Rj08e6njE+ffgP3hPP7CmVuZHN0cmVhbQplbmRvYmoKMyAwIG9iagoyNTk2CmVuZG9iago0IDAg
b2JqClsvSUNDQmFzZWQgMiAwIFJdCmVuZG9iago1IDAgb2JqCjw8CiAgL1R5cGUgL01ldGFkYXRh
CiAgL1N1YnR5cGUgL1hNTAogIC9MZW5ndGggNiAwIFIKPj4Kc3RyZWFtCjw/eHBhY2tldCBiZWdp
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cgo8eDp4bXBtZXRhIHhtbG5z
Ong9ImFkb2JlOm5zOm1ldGEvIj4KPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KPHJkZjpEZXNjcmlwdGlvbiB4bWxuczpkYz0i
aHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHJkZjphYm91dD0iIj4KPGRjOmxhbmd1
YWdlPngtdW5rbm93bjwvZGM6bGFuZ3VhZ2U+CjxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9k
Yzpmb3JtYXQ+CjxkYzpkYXRlPjIwMTYtMDEtMjJUMTc6MzE6NDArMDE6MDA8L2RjOmRhdGU+Cjwv
cmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOnBkZj0iaHR0cDovL25zLmFk
b2JlLmNvbS9wZGYvMS4zLyIgcmRmOmFib3V0PSIiPgo8cGRmOlBERlZlcnNpb24+MS40PC9wZGY6
UERGVmVyc2lvbj4KPHBkZjpQcm9kdWNlcj5BcGFjaGUgRk9QIFZlcnNpb24gMi4xPC9wZGY6UHJv
ZHVjZXI+CjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOnhtcD0iaHR0
cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgcmRmOmFib3V0PSIiPgo8eG1wOkNyZWF0ZURhdGU+
MjAxNi0wMS0yMlQxNzozMTo0MCswMTowMDwveG1wOkNyZWF0ZURhdGU+Cjx4bXA6Q3JlYXRvclRv
b2w+QXBhY2hlIEZPUCBWZXJzaW9uIDIuMTwveG1wOkNyZWF0b3JUb29sPgo8eG1wOk1ldGFkYXRh
RGF0ZT4yMDE2LTAxLTIyVDE3OjMxOjQwKzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgo8L3JkZjpE
ZXNjcmlwdGlvbj4KPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI/PgoK
CmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iago4NjkKZW5kb2JqCjcgMCBvYmoKPDwgL0xlbmd0aCA4
IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeJxtUstOwzAQvPsr9pgcstiOn1ck
QKrEoZJvVQ8B+gBaIAIJ8fes85C3amw5Hs3Ozq6j7YUCSbvJVzAKQ4jwfBb9xCuwDl3UoAO2xuXQ
+joYLMo2jHm9kPBA5yAkxrx8nNXKoPLtQIFCZ4bwkKZQ5qVlnKT5O9hJ0mkfnPbQSPTOSUMLJqiD
hUnhHRXQDj25KOcMtLFFK60xMgw1NlvyfKHOVnTe6Am/wsCjuE3i5l6BlpD25WcESiUD5z2H6Qyb
KtW5E+pWQXWsYYavBX4Dk3wVvmP0geEdw3Dh2HDLJf5jojVUP0WxK+yygFt8Loq7Ak9MzPEf6+l0
+Zw5dV8UrDrLe1ou0y329I71FtJK3CUawnFfjaKnO1g1Dupa/APKqY4MCmVuZHN0cmVhbQplbmRv
YmoKOCAwIG9iagoyOTEKZW5kb2JqCjkgMCBvYmoKPDwKICAvUmVzb3VyY2VzIDEwIDAgUgogIC9U
eXBlIC9QYWdlCiAgL01lZGlhQm94IFswIDAgNTk1LjI3NSA4NDEuODg5XQogIC9Dcm9wQm94IFsw
IDAgNTk1LjI3NSA4NDEuODg5XQogIC9CbGVlZEJveCBbMCAwIDU5NS4yNzUgODQxLjg4OV0KICAv
VHJpbUJveCBbMCAwIDU5NS4yNzUgODQxLjg4OV0KICAvUGFyZW50IDExIDAgUgogIC9Db250ZW50
cyA3IDAgUgo+PgplbmRvYmoKMTIgMCBvYmoKPDwKICAvVHlwZSAvRm9udAogIC9TdWJ0eXBlIC9U
eXBlMQogIC9CYXNlRm9udCAvSGVsdmV0aWNhCiAgL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcK
Pj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9QYWdlcwovQ291bnQgMQovS2lkcyBbOSAwIFIg
XSA+PgplbmRvYmoKMTMgMCBvYmoKPDwKICAvVHlwZSAvQ2F0YWxvZwogIC9QYWdlcyAxMSAwIFIK
ICAvTGFuZyAoeC11bmtub3duKQogIC9NZXRhZGF0YSA1IDAgUgogIC9QYWdlTGFiZWxzIDE0IDAg
Ugo+PgplbmRvYmoKMTAgMCBvYmoKPDwKICAvRm9udCA8PCAvRjEgMTIgMCBSID4+CiAgL1Byb2NT
ZXQgWy9QREYgL0ltYWdlQiAvSW1hZ2VDIC9UZXh0XQogIC9Db2xvclNwYWNlIDw8IC9EZWZhdWx0
UkdCIDQgMCBSID4+Cj4+CmVuZG9iagoxNCAwIG9iago8PCAvTnVtcyBbMCA8PCAvUyAvRCA+Pl0g
Pj4KZW5kb2JqCnhyZWYKMCAxNQowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTUgMDAwMDAg
biAKMDAwMDAwMDE0NSAwMDAwMCBuIAowMDAwMDAyODI2IDAwMDAwIG4gCjAwMDAwMDI4NDYgMDAw
MDAgbiAKMDAwMDAwMjg3OSAwMDAwMCBuIAowMDAwMDAzODM3IDAwMDAwIG4gCjAwMDAwMDM4NTYg
MDAwMDAgbiAKMDAwMDAwNDIyMSAwMDAwMCBuIAowMDAwMDA0MjQwIDAwMDAwIG4gCjAwMDAwMDQ3
NDMgMDAwMDAgbiAKMDAwMDAwNDU3MCAwMDAwMCBuIAowMDAwMDA0NDY0IDAwMDAwIG4gCjAwMDAw
MDQ2MjkgMDAwMDAgbiAKMDAwMDAwNDg2OCAwMDAwMCBuIAp0cmFpbGVyCjw8CiAgL1Jvb3QgMTMg
MCBSCiAgL0luZm8gMSAwIFIKICAvSUQgWzwxODNFNUQ1ODY5QzJGQkQ0ODlGNzdGODFFQTRERDI2
Qz4gPDE4M0U1RDU4NjlDMkZCRDQ4OUY3N0Y4MUVBNEREMjZDPl0KICAvU2l6ZSAxNQo+PgpzdGFy
dHhyZWYKNDkxMgolJUVPRgo=
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY
Content-Type: text/plain; charset=us-ascii
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--Multipart=_Fri__22_Jan_2016_23_44_14_+0100_LDzC=OhLKUE/UhXY--