Fw: Problem rendering SVG in Jasper PDF

--0-1860408190-1203741390=:29771
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

W: Problem rendering SVG in Jasper PDF=0A=0A=0A =0A =0A=0A=0A=0A=0A=0A=0A=
=0A=0A=0A=0A=0A=0AHi,=0A=0A=0A=0A=0AWe are trying to render SVG image into =
PDF using Jasper. Tried the Batik code to paint svg file. But, the image is=
 rendered very minute (appears as dot). Tried to increase the height and wi=
dth, but not much difference.=0A=0Aplease help.=0A=0A=0A=0APlease find the =
JRXML, svg file and PDF enclosed.=0A=0A=0A=0AThanks and regards,=0A=0A=0AUs=
ha=0A=0A=0A=0A=0A <<test.jrxml>> =0A=0A=0A=0A=0A=0A <<sss.SVG>>  <<BatikRen=
derer.java>> =0A=0A=0A=0A=0A=0A=0A=0A=0A      Why delete messages? Unlimite=
d storage is just a click away. Go to http://help.yahoo.com/l/in/yahoo/mail=
/yahoomail/tools/tools-08.html
--0-1860408190-1203741390=:29771
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><style type=3D"text/css"><!-- DIV {margin:0px;} --></style></he=
ad><body><div style=3D"font-family:times new roman, new york, times, serif;=
font-size:12pt"><div style=3D"font-family: times new roman,new york,times,s=
erif; font-size: 12pt;"><div style=3D"font-family: times new roman,new york=
,times,serif; font-size: 12pt;"><title>W: Problem rendering SVG in Jasper P=
DF</title>=0A=0A=0A =0A =0A=0A=0A=0A=0A<p dir=3D"ltr"><span lang=3D"en-us">=
</span><span lang=3D"en-us"></span></p>=0A=0A<p dir=3D"ltr"><span lang=3D"e=
n-us"></span><span lang=3D"en-us"></span></p>=0A=0A=0A=0A<p dir=3D"ltr"><sp=
an lang=3D"en-us"></span><span lang=3D"en-us"><font color=3D"#0000ff" face=
=3D"Arial" size=3D"2">Hi,</font></span></p>=0A<br>=0A=0A<p dir=3D"ltr"><spa=
n lang=3D"en-us"><font color=3D"#0000ff" face=3D"Arial" size=3D"2">We are t=
rying to render SVG image into PDF using Jasper. Tried the Batik code to pa=
int svg file. But, the image is rendered very minute (appears as dot). Trie=
d to increase the height and width, but not much difference.<br>=0Aplease h=
elp.<br>=0A<br>=0APlease find the JRXML, svg file and PDF enclosed.<br>=0A<=
br>=0AThanks and regards,</font></span></p>=0A=0A<p dir=3D"ltr"><span lang=
=3D"en-us"><font color=3D"#0000ff" face=3D"Arial" size=3D"2">Usha</font></s=
pan></p>=0A<br>=0A=0A<p dir=3D"ltr"><span lang=3D"en-us"></span><span lang=
=3D"en-us"><font color=3D"#000000" face=3D"Arial" size=3D"2"> &lt;&lt;test.=
jrxml&gt;&gt; </font></span><span lang=3D"en-us"><b></b></span></p>=0A=0A<p=
 dir=3D"ltr"><span lang=3D"en-us"></span><span lang=3D"en-us"></span></p>=
=0A=0A<p dir=3D"ltr"><span lang=3D"en-us"></span><span lang=3D"en-us"><font=
 color=3D"#000000" face=3D"Arial" size=3D"2"> &lt;&lt;sss.SVG&gt;&gt; </fon=
t></span><span lang=3D"en-us"></span><span lang=3D"en-us"></span><span lang=
=3D"en-us"><font color=3D"#000000" face=3D"Arial" size=3D"2"> &lt;&lt;Batik=
Renderer.java&gt;&gt; </font></span><span lang=3D"en-us"></span><span lang=
=3D"en-us"></span></p>=0A=0A</div><br></div></div><br>=0A=0A=0A      <!--1-=
-><hr size=3D1></hr> Get your domain and website for less than Rs.100/month=
*. <a href=3D"http://in.rd.yahoo.com/tagline_ysb_1/*http://in.business.yaho=
o.com/">Click here.</a></body></html>
--0-1860408190-1203741390=:29771--
--0-910859782-1203741390=:29771
Content-Type: application/octet-stream; name="test.jrxml"
Content-Transfer-Encoding: base64
Content-Description: test.jrxml
Content-Disposition: attachment; filename="test.jrxml"

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiICA/Pg0KPCEtLSBDcmVhdGVkIHdp
dGggaVJlcG9ydCAtIEEgZGVzaWduZXIgZm9yIEphc3BlclJlcG9ydHMgLS0+DQo8IURPQ1RZUEUg
amFzcGVyUmVwb3J0IFBVQkxJQyAiLy9KYXNwZXJSZXBvcnRzLy9EVEQgUmVwb3J0IERlc2lnbi8v
RU4iICJodHRwOi8vamFzcGVycmVwb3J0cy5zb3VyY2Vmb3JnZS5uZXQvZHRkcy9qYXNwZXJyZXBv
cnQuZHRkIj4NCjxqYXNwZXJSZXBvcnQNCgkJIG5hbWU9InRlc3QiDQoJCSBjb2x1bW5Db3VudD0i
MSINCgkJIHByaW50T3JkZXI9IlZlcnRpY2FsIg0KCQkgb3JpZW50YXRpb249IlBvcnRyYWl0Ig0K
CQkgcGFnZVdpZHRoPSI3MDAiDQoJCSBwYWdlSGVpZ2h0PSI5MDAiDQoJCSBjb2x1bW5XaWR0aD0i
NjcyIg0KCQkgY29sdW1uU3BhY2luZz0iMCINCgkJIGxlZnRNYXJnaW49IjI4Ig0KCQkgcmlnaHRN
YXJnaW49IjAiDQoJCSB0b3BNYXJnaW49IjI4Ig0KCQkgYm90dG9tTWFyZ2luPSIwIg0KCQkgd2hl
bk5vRGF0YVR5cGU9Ik5vUGFnZXMiDQoJCSBpc1RpdGxlTmV3UGFnZT0iZmFsc2UiDQoJCSBpc1N1
bW1hcnlOZXdQYWdlPSJmYWxzZSI+DQoJPHByb3BlcnR5IG5hbWU9ImlyZXBvcnQuc2NyaXB0bGV0
aGFuZGxpbmciIHZhbHVlPSIwIiAvPg0KCTxwcm9wZXJ0eSBuYW1lPSJpcmVwb3J0LmVuY29kaW5n
IiB2YWx1ZT0iVVRGLTgiIC8+DQoJPGltcG9ydCB2YWx1ZT0iamF2YS51dGlsLioiIC8+DQoJPGlt
cG9ydCB2YWx1ZT0ibmV0LnNmLmphc3BlcnJlcG9ydHMuZW5naW5lLioiIC8+DQoJPGltcG9ydCB2
YWx1ZT0ibmV0LnNmLmphc3BlcnJlcG9ydHMuZW5naW5lLmRhdGEuKiIgLz4NCg0KCTxzdHlsZSAN
CgkJbmFtZT0iQXJpYWxfTm9ybWFsIg0KCQlpc0RlZmF1bHQ9InRydWUiDQoJCWZvbnROYW1lPSJB
cmlhbCINCgkJZm9udFNpemU9IjEyIg0KCQlwZGZGb250TmFtZT0iSGVsdmV0aWNhIg0KCQlwZGZF
bmNvZGluZz0iQ3AxMjUyIg0KCQlpc1BkZkVtYmVkZGVkPSJmYWxzZSINCgkvPg0KDQoNCgkJPGJh
Y2tncm91bmQ+DQoJCQk8YmFuZCBoZWlnaHQ9IjAiICBpc1NwbGl0QWxsb3dlZD0idHJ1ZSIgPg0K
CQkJPC9iYW5kPg0KCQk8L2JhY2tncm91bmQ+DQoJCTx0aXRsZT4NCgkJCTxiYW5kIGhlaWdodD0i
MCIgIGlzU3BsaXRBbGxvd2VkPSJ0cnVlIiA+DQoJCQk8L2JhbmQ+DQoJCTwvdGl0bGU+DQoJCTxw
YWdlSGVhZGVyPg0KCQkJPGJhbmQgaGVpZ2h0PSIwIiAgaXNTcGxpdEFsbG93ZWQ9InRydWUiID4N
CgkJCTwvYmFuZD4NCgkJPC9wYWdlSGVhZGVyPg0KCQk8Y29sdW1uSGVhZGVyPg0KCQkJPGJhbmQg
aGVpZ2h0PSIwIiAgaXNTcGxpdEFsbG93ZWQ9InRydWUiID4NCgkJCTwvYmFuZD4NCgkJPC9jb2x1
bW5IZWFkZXI+DQoJCTxkZXRhaWw+DQoJCQk8YmFuZCBoZWlnaHQ9IjY1OCIgIGlzU3BsaXRBbGxv
d2VkPSJ0cnVlIiA+DQoJCQkJPGltYWdlICBzY2FsZUltYWdlPSJSZXRhaW5TaGFwZSIgZXZhbHVh
dGlvblRpbWU9IlJlcG9ydCIgaHlwZXJsaW5rVHlwZT0iTm9uZSIgIGh5cGVybGlua1RhcmdldD0i
U2VsZiIgPg0KCQkJCQk8cmVwb3J0RWxlbWVudAoJCQkJCQlzdHlsZT0iQXJpYWxfTm9ybWFsIgoJ
CQkJCQl4PSItNyIKCQkJCQkJeT0iMCIKCQkJCQkJd2lkdGg9IjY0NCIKCQkJCQkJaGVpZ2h0PSI2
NTAiCgkJCQkJCWtleT0iaW1hZ2UtMSIvPg0KCQkJCQk8Ym94IHRvcEJvcmRlcj0iTm9uZSIgdG9w
Qm9yZGVyQ29sb3I9IiMwMDAwMDAiIGxlZnRCb3JkZXI9Ik5vbmUiIGxlZnRCb3JkZXJDb2xvcj0i
IzAwMDAwMCIgcmlnaHRCb3JkZXI9Ik5vbmUiIHJpZ2h0Qm9yZGVyQ29sb3I9IiMwMDAwMDAiIGJv
dHRvbUJvcmRlcj0iTm9uZSIgYm90dG9tQm9yZGVyQ29sb3I9IiMwMDAwMDAiLz4NCgkJCQkJPGdy
YXBoaWNFbGVtZW50IHN0cmV0Y2hUeXBlPSJOb1N0cmV0Y2giLz4NCgkJCQkJPGltYWdlRXhwcmVz
c2lvbiBjbGFzcz0ibmV0LnNmLmphc3BlcnJlcG9ydHMuZW5naW5lLkpSUmVuZGVyYWJsZSI+PCFb
Q0RBVEFbbmV3IGNvbS5CYXRpa1JlbmRlcmVyKG5ldyBqYXZhLmlvLkZpbGUoIkM6XFxzc3MuU1ZH
IikpXV0+PC9pbWFnZUV4cHJlc3Npb24+DQoJCQkJPC9pbWFnZT4NCgkJCTwvYmFuZD4NCgkJPC9k
ZXRhaWw+DQoJCTxjb2x1bW5Gb290ZXI+DQoJCQk8YmFuZCBoZWlnaHQ9IjAiICBpc1NwbGl0QWxs
b3dlZD0idHJ1ZSIgPg0KCQkJPC9iYW5kPg0KCQk8L2NvbHVtbkZvb3Rlcj4NCgkJPHBhZ2VGb290
ZXI+DQoJCQk8YmFuZCBoZWlnaHQ9IjAiICBpc1NwbGl0QWxsb3dlZD0idHJ1ZSIgPg0KCQkJPC9i
YW5kPg0KCQk8L3BhZ2VGb290ZXI+DQoJCTxzdW1tYXJ5Pg0KCQkJPGJhbmQgaGVpZ2h0PSIwIiAg
aXNTcGxpdEFsbG93ZWQ9InRydWUiID4NCgkJCTwvYmFuZD4NCgkJPC9zdW1tYXJ5Pg0KPC9qYXNw
ZXJSZXBvcnQ+DQo=

--0-910859782-1203741390=:29771
Content-Type: application/octet-stream; name="sss.SVG"
Content-Transfer-Encoding: base64
Content-Description: sss.SVG
Content-Disposition: attachment; filename="sss.SVG"

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
4smcpBTEAAA=

--0-910859782-1203741390=:29771
Content-Type: application/octet-stream; name="BatikRenderer.java"
Content-Transfer-Encoding: base64
Content-Description: BatikRenderer.java
Content-Disposition: attachment; filename="BatikRenderer.java"

cGFja2FnZSBjb207DQoNCmltcG9ydCBqYXZhLmF3dC5Db2xvcjsNCmltcG9ydCBqYXZhLmF3dC5H
cmFwaGljczJEOw0KaW1wb3J0IGphdmEuYXd0LlJlY3RhbmdsZTsNCmltcG9ydCBqYXZhLmF3dC5n
ZW9tLkFmZmluZVRyYW5zZm9ybTsNCmltcG9ydCBqYXZhLmF3dC5nZW9tLlJlY3RhbmdsZTJEOw0K
aW1wb3J0IGphdmEuaW8uRmlsZTsNCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOw0KDQppbXBv
cnQgbmV0LnNmLmphc3BlcnJlcG9ydHMuZW5naW5lLkpSQWJzdHJhY3RTdmdSZW5kZXJlcjsNCmlt
cG9ydCBuZXQuc2YuamFzcGVycmVwb3J0cy5lbmdpbmUuSlJFeGNlcHRpb247DQppbXBvcnQgbmV0
LnNmLmphc3BlcnJlcG9ydHMuZW5naW5lLkpSUnVudGltZUV4Y2VwdGlvbjsNCg0KaW1wb3J0IG9y
Zy5hcGFjaGUuYmF0aWsuYnJpZGdlLkJyaWRnZUNvbnRleHQ7DQppbXBvcnQgb3JnLmFwYWNoZS5i
YXRpay5icmlkZ2UuRG9jdW1lbnRMb2FkZXI7DQppbXBvcnQgb3JnLmFwYWNoZS5iYXRpay5icmlk
Z2UuR1ZUQnVpbGRlcjsNCmltcG9ydCBvcmcuYXBhY2hlLmJhdGlrLmJyaWRnZS5Vc2VyQWdlbnQ7
DQppbXBvcnQgb3JnLmFwYWNoZS5iYXRpay5icmlkZ2UuVXNlckFnZW50QWRhcHRlcjsNCmltcG9y
dCBvcmcuYXBhY2hlLmJhdGlrLmJyaWRnZS5WaWV3Qm94Ow0KaW1wb3J0IG9yZy5hcGFjaGUuYmF0
aWsuZ3Z0LkdyYXBoaWNzTm9kZTsNCmltcG9ydCBvcmcudzNjLmRvbS5zdmcuU1ZHRG9jdW1lbnQ7
DQoNCnB1YmxpYyBjbGFzcyBCYXRpa1JlbmRlcmVyIGV4dGVuZHMgSlJBYnN0cmFjdFN2Z1JlbmRl
cmVyDQp7DQogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxWZXJzaW9uVUlEID0g
MUw7DQoNCiAgICBwcml2YXRlIGZpbmFsIFN0cmluZyBzdmdVUkk7DQoNCiAgICBwdWJsaWMgQmF0
aWtSZW5kZXJlcihTdHJpbmcgc3ZnVVJJKQ0KICAgIHsNCiAgICAgICAgdGhpcy5zdmdVUkkgPSBz
dmdVUkk7DQogICAgfQ0KDQogICAgcHVibGljIEJhdGlrUmVuZGVyZXIoRmlsZSBzdmdGaWxlKQ0K
ICAgIHsNCiAgICAgICAgdGhpcyhzdmdGaWxlLnRvVVJJKCkudG9TdHJpbmcoKSk7DQogICAgfQ0K
DQogICAgcHVibGljIHZvaWQgcmVuZGVyKEdyYXBoaWNzMkQgZ3J4LCBSZWN0YW5nbGUyRCByZWN0
YW5nbGUpIHRocm93cyBKUkV4Y2VwdGlvbg0KICAgIHsNCiAgICAgICAgdHJ5DQogICAgICAgIHsN
CiAgICAgICAgCVN5c3RlbS5vdXQucHJpbnRsbihzdmdVUkkpOw0KICAgICAgICAJU3lzdGVtLm91
dC5wcmludGxuKCIiK3JlY3RhbmdsZS5nZXRXaWR0aCgpKTsNCiAgICAgICAgCVN5c3RlbS5vdXQu
cHJpbnRsbigiIityZWN0YW5nbGUuZ2V0SGVpZ2h0KCkpOw0KICAgICAgICAJU3lzdGVtLm91dC5w
cmludGxuKCIiK3JlY3RhbmdsZS5nZXRYKCkpOw0KICAgICAgICAJU3lzdGVtLm91dC5wcmludGxu
KCIiK3JlY3RhbmdsZS5nZXRZKCkpOw0KICAgICAgICAJLy9yZWN0YW5nbGUuc2V0RnJhbWUoMCwg
MCw3MDAsOTAwMCk7DQogICAgICAgIAkvL3JlY3RhbmdsZS5zZXRSZWN0KDAsIDAsOTAwLDkwMCk7
DQogICAgICAgICAgICBVc2VyQWdlbnQgdXNlckFnZW50ID0gbmV3IFVzZXJBZ2VudEFkYXB0ZXIo
KTsNCiAgICAgICAgICAgIERvY3VtZW50TG9hZGVyIGxvYWRlciA9IG5ldyBEb2N1bWVudExvYWRl
cih1c2VyQWdlbnQpOw0KICAgICAgICAgICAgU1ZHRG9jdW1lbnQgc3ZnRG9jID0gKFNWR0RvY3Vt
ZW50KSBsb2FkZXIubG9hZERvY3VtZW50KHN2Z1VSSSk7DQogICAgICAgICAgICBTeXN0ZW0ub3V0
LnByaW50bG4oIioqKioqKioqKioqKioiK3N2Z0RvYy5nZXRSb290RWxlbWVudCgpKTsNCiAgICAg
ICAgICAgIEJyaWRnZUNvbnRleHQgY3R4ID0gbmV3IEJyaWRnZUNvbnRleHQodXNlckFnZW50LCBs
b2FkZXIpOw0KICAgICAgICAgICAgY3R4LnNldER5bmFtaWModHJ1ZSk7DQogICAgICAgICAgICBH
VlRCdWlsZGVyIGJ1aWxkZXIgPSBuZXcgR1ZUQnVpbGRlcigpOw0KICAgICAgICAgICAgR3JhcGhp
Y3NOb2RlIGdyYXBoaWNzTm9kZSA9IGJ1aWxkZXIuYnVpbGQoY3R4LCBzdmdEb2MpOw0KDQogICAg
ICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0gVmlld0JveC5nZXRWaWV3VHJhbnNm
b3JtKG51bGwsIHN2Z0RvYy5nZXRSb290RWxlbWVudCgpLA0KICAgICAgICAgICAgICAgICAgICAo
ZmxvYXQpIHJlY3RhbmdsZS5nZXRXaWR0aCgpLCAoZmxvYXQpIHJlY3RhbmdsZS5nZXRIZWlnaHQo
KSwgY3R4KTsNCiAgICAgICAgICAgIEdyYXBoaWNzMkQgZ3JhcGhpY3MgPSAoR3JhcGhpY3MyRCkg
Z3J4LmNyZWF0ZSgpOw0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCIiK3JlY3Rhbmds
ZS5nZXRYKCkpOw0KICAgICAgICAJU3lzdGVtLm91dC5wcmludGxuKCIiK3JlY3RhbmdsZS5nZXRZ
KCkpOw0KICAgICAgICAgICAgZ3JhcGhpY3MudHJhbnNsYXRlKHJlY3RhbmdsZS5nZXRYKCksIHJl
Y3RhbmdsZS5nZXRZKCkpOw0KICAgICAgICAgICAgZ3JhcGhpY3MudHJhbnNmb3JtKHRyYW5zZm9y
bSk7DQoNCiAgICAgICAgICAgIGdyYXBoaWNzTm9kZS5zZXRWaXNpYmxlKHRydWUpOw0KICAgICAg
ICAgICAgLy9ncmFwaGljcy5zZXRQYWludChDb2xvci5yZWQpOw0KICAgICAgICAgICAgLy9ncmFw
aGljcy5maWxsKG5ldyBSZWN0YW5nbGUoMjAsIDIwLCAxMDAsIDEwMCkpOw0KDQogICAgICAgICAg
ICBncmFwaGljc05vZGUucGFpbnQoZ3JhcGhpY3MpOw0KICAgICAgICB9DQogICAgICAgIGNhdGNo
IChJT0V4Y2VwdGlvbiBlKQ0KICAgICAgICB7DQogICAgICAgIAllLnByaW50U3RhY2tUcmFjZSgp
Ow0KICAgICAgICAgICAgdGhyb3cgbmV3IEpSUnVudGltZUV4Y2VwdGlvbihlKTsNCiAgICAgICAg
fWNhdGNoIChFeGNlcHRpb24gZTEpDQogICAgICAgIHsNCg0KICAgICAgICAJZTEucHJpbnRTdGFj
a1RyYWNlKCk7DQogICAgICAgIH0NCiAgICB9DQp9DQo=

--0-910859782-1203741390=:29771--

Received on Sunday, 24 February 2008 19:31:27 UTC