Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » IHTMLImageHandler not used when rendering images embedded using <IMAGE> tag
IHTMLImageHandler not used when rendering images embedded using <IMAGE> tag [message #670841] Sun, 15 May 2011 20:16 Go to next message
Eclipse UserFriend
Originally posted by:

Hi,

I'm using HTMLServerImageHandler to create urls for images in the
report. While this works fine for charts and Image items using embedded
images, it doesn't work when I use <IMAGE name="my_image"/> tag while
defining Text item. To be more precise, it works in web viewer but not
when I use my own code.

Here is my code (I use BIRT 2.6):

IRunAndRenderTask task = engine.createRunAndRenderTask(reportDesign);
HTMLServerImageHandler imageHandler = new HTMLServerImageHandler();
HTMLRenderOption option = new HTMLRenderOption();
option.setOutputFileName(outputFile.getAbsolutePath());
option.setBaseImageURL(baseImageUrl);
option.setImageDirectory(imageDir);
option.setImageHandler(imageHandler);
task.setRenderOption(option);
task.run();

This part of report renders correctly:

<image id="8">
<property name="source">embed</property>
<property name="imageName">my_image</property>
</image>

This does not:

<text id="9">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<IMAGE
name="my_image"/>]]></text-property>
</text>

The HTML produced looks like this:

<img src="file:/tmp/img6647447909864980190.jpg"></img>

Why BIRT doesn't use provided image handler in this case?
What's in the web viewer's code that's not in mine? (I browsed it but
couldn't find any important difference)

Michal
Re: IHTMLImageHandler not used when rendering images embedded using &lt;IMAGE&gt; tag [message #671041 is a reply to message #670841] Mon, 16 May 2011 15:37 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

I just tried this in 2.6.1 and it worked fine. Is my_image an embedded
image? If so can you email me the report or a small report with just
the embedded image and the text element?

Jason

On 5/15/2011 4:16 PM, Michał Tkacz wrote:
> <IMAGE name="my_image"/>
Re: IHTMLImageHandler not used when rendering images embedded using &lt;IMAGE&gt; tag [message #671076 is a reply to message #671041] Mon, 16 May 2011 17:02 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by:

On 05/16/2011 05:37 PM, Jason Weathersby wrote:
> I just tried this in 2.6.1 and it worked fine. Is my_image an embedded
> image? If so can you email me the report or a small report with just the
> embedded image and the text element?
>
> Jason


Yes, my_image is an embedded image.

When I launch report from Eclipse inside the output I get

<div id="AUTOGENBOOKMARK_1">This works:</div>
<div>
<img id="AUTOGENBOOKMARK_2"
src=" /viewer/preview?__sessionId=20110516_185956_273&amp;__im ageid=design6ff106ab12ff9b42ef115 "
alt="" style="display: block;"></img>
</div>
<div id="AUTOGENBOOKMARK_3">This does not:</div>
<div><img
src=" /viewer/preview?__sessionId=20110516_185956_273&amp;__im ageid=file6ff106ab12ff9b42ef116.tmp "></img>

</div>

However when I run it from my code inside the output I get

<div id="AUTOGENBOOKMARK_1">This works:</div>
<div>
<img id="AUTOGENBOOKMARK_2"
src=" /dashboard?custom_service_handler=report_img1&amp;image= design62ade1b612ff9ba70a61 "
alt="" style="display: block;"></img>
</div>
<div id="AUTOGENBOOKMARK_3">This does not:</div>
<div><img src="file:/tmp/img1769066392404117955.tmp"></img>
</div>

The first image is displayed fine, the second (for obvious reasons) is not.

Here is the report:

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
<property name="units">in</property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">81</property>
<styles>
<style name="report" id="4">
<property name="fontFamily">sans-serif</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<label id="7">
<text-property name="text">This works:</text-property>
</label>
<image id="8">
<property name="source">embed</property>
<property name="imageName">my_image</property>
</image>
<label id="10">
<text-property name="text">This does not:</text-property>
</label>
<text id="9">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<IMAGE
name="my_image"/>]]></text-property>
</text>
</body>
<list-property name="images">
<structure>
<property name="name">my_image</property>
<property name="data">

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA

AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD

AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD

AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD

CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR

cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj

MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX

+RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI

kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y

mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r

6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr

NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b

gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM

gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ

wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv

pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3

czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE

jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6

ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp

CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF

7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb

9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca

ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX

LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4

nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb

VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm

ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc

Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl

GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP

gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH

N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq

OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP

DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw

1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5

i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v

3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z

sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl

Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/

Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI

YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q

qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL

qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU

di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
IjERiIxEYiMRGIn/2Q==
</property>
</structure>
</list-property>
</report>
Re: IHTMLImageHandler not used when rendering images embedded using &lt;IMAGE&gt; tag [message #671083 is a reply to message #671076] Mon, 16 May 2011 17:30 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Can you try the attached report?

Jason

<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
id="1">
<property name="createdBy">Eclipse BIRT Designer Version
2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
<property name="units">in</property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">81</property>
<styles>
<style name="report" id="4">
<property name="fontFamily">sans-serif</property>
<property name="fontSize">10pt</property>
</style>
<style name="crosstab-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab" id="6">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property
name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<label id="7">
<text-property name="text">This works:</text-property>
</label>
<image id="8">
<property name="source">embed</property>
<property name="imageName">my_image.png</property>
</image>
<label id="10">
<text-property name="text">This does not:</text-property>
</label>
<text id="9">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<IMAGE
name="my_image.png"/>]]></text-property>
</text>
</body>
<list-property name="images">
<structure>
<property name="name">my_image.png</property>
<property name="type">image/png</property>
<property name="data">

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA

AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD

AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD

AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD

CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR

cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj

MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX

+RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI

kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y

mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r

6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr

NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b

gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM

gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ

wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv

pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3

czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE

jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6

ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp

CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF

7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb

9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca

ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX

LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4

nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb

VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm

ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc

Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl

GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP

gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH

N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq

OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP

DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw

1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5

i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v

3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z

sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl

Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/

Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI

YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q

qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL

qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU

di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
IjERiIxEYiMRGIn/2Q==
</property>
</structure>
</list-property>
</report>




On 5/16/2011 1:02 PM, Michał Tkacz wrote:
> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
> <property name="units">in</property>
> <property name="iconFile">/templates/blank_report.gif</property>
> <property name="bidiLayoutOrientation">ltr</property>
> <property name="imageDPI">81</property>
> <styles>
> <style name="report" id="4">
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">10pt</property>
> </style>
> <style name="crosstab-cell" id="5">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="crosstab" id="6">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage" id="2">
> <page-footer>
> <text id="3">
> <property name="contentType">html</property>
> <text-property name="content"><![CDATA[<value-of>new
> Date()</value-of>]]></text-property>
> </text>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <label id="7">
> <text-property name="text">This works:</text-property>
> </label>
> <image id="8">
> <property name="source">embed</property>
> <property name="imageName">my_image</property>
> </image>
> <label id="10">
> <text-property name="text">This does not:</text-property>
> </label>
> <text id="9">
> <property name="contentType">html</property>
> <text-property name="content"><![CDATA[<IMAGE
> name="my_image"/>]]></text-property>
> </text>
> </body>
> <list-property name="images">
> <structure>
> <property name="name">my_image</property>
> <property name="data">
>
> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>
>
> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>
>
> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>
>
> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>
>
> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>
>
> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>
>
> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>
>
> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>
>
> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>
>
> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>
>
> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>
>
> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>
>
> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>
>
> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>
>
> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>
>
> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>
>
> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>
>
> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>
>
> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>
>
> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>
>
> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>
>
> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>
>
> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>
>
> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>
>
> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>
>
> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>
>
> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>
>
> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>
>
> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>
>
> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>
>
> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>
>
> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>
>
> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>
>
> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>
>
> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>
>
> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>
>
> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>
>
> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>
>
> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>
>
> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>
>
> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>
>
> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>
>
> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>
> IjERiIxEYiMRGIn/2Q==
> </property>
> </structure>
> </list-property>
> </report>
Re: IHTMLImageHandler not used when rendering images embedded using &lt;IMAGE&gt; tag [message #671085 is a reply to message #671083] Mon, 16 May 2011 17:56 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by:

On 05/16/2011 07:30 PM, Jason Weathersby wrote:
> Can you try the attached report?
>
> Jason

I can see your point. Unfortunately it didn't help, even when I changed
png to jpg and image/png to image/jpeg (the image was jpeg).

The second url still points to a file on disk whereas it should be
generated by HTMLServerImageHandler (which unfortunately is only called
for the first image).

Somehow however it works when run from Eclipse. I'd say it's my code
that lacks something, not the report.

Michal

> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
> id="1">
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
> <property name="units">in</property>
> <property name="iconFile">/templates/blank_report.gif</property>
> <property name="bidiLayoutOrientation">ltr</property>
> <property name="imageDPI">81</property>
> <styles>
> <style name="report" id="4">
> <property name="fontFamily">sans-serif</property>
> <property name="fontSize">10pt</property>
> </style>
> <style name="crosstab-cell" id="5">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="crosstab" id="6">
> <property name="borderBottomColor">#CCCCCC</property>
> <property name="borderBottomStyle">solid</property>
> <property name="borderBottomWidth">1pt</property>
> <property name="borderLeftColor">#CCCCCC</property>
> <property name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property name="borderRightColor">#CCCCCC</property>
> <property name="borderRightStyle">solid</property>
> <property name="borderRightWidth">1pt</property>
> <property name="borderTopColor">#CCCCCC</property>
> <property name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage" id="2">
> <page-footer>
> <text id="3">
> <property name="contentType">html</property>
> <text-property name="content"><![CDATA[<value-of>new
> Date()</value-of>]]></text-property>
> </text>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <label id="7">
> <text-property name="text">This works:</text-property>
> </label>
> <image id="8">
> <property name="source">embed</property>
> <property name="imageName">my_image.png</property>
> </image>
> <label id="10">
> <text-property name="text">This does not:</text-property>
> </label>
> <text id="9">
> <property name="contentType">html</property>
> <text-property name="content"><![CDATA[<IMAGE
> name="my_image.png"/>]]></text-property>
> </text>
> </body>
> <list-property name="images">
> <structure>
> <property name="name">my_image.png</property>
> <property name="type">image/png</property>
> <property name="data">
>
> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>
>
> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>
>
> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>
>
> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>
>
> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>
>
> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>
>
> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>
>
> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>
>
> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>
>
> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>
>
> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>
>
> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>
>
> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>
>
> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>
>
> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>
>
> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>
>
> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>
>
> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>
>
> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>
>
> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>
>
> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>
>
> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>
>
> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>
>
> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>
>
> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>
>
> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>
>
> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>
>
> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>
>
> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>
>
> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>
>
> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>
>
> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>
>
> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>
>
> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>
>
> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>
>
> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>
>
> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>
>
> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>
>
> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>
>
> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>
>
> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>
>
> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>
>
> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>
> IjERiIxEYiMRGIn/2Q==
> </property>
> </structure>
> </list-property>
> </report>
>
>
>
>
> On 5/16/2011 1:02 PM, Michał Tkacz wrote:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
>> id="1">
>> <property name="createdBy">Eclipse BIRT Designer Version
>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>> <property name="units">in</property>
>> <property name="iconFile">/templates/blank_report.gif</property>
>> <property name="bidiLayoutOrientation">ltr</property>
>> <property name="imageDPI">81</property>
>> <styles>
>> <style name="report" id="4">
>> <property name="fontFamily">sans-serif</property>
>> <property name="fontSize">10pt</property>
>> </style>
>> <style name="crosstab-cell" id="5">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> <style name="crosstab" id="6">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> </styles>
>> <page-setup>
>> <simple-master-page name="Simple MasterPage" id="2">
>> <page-footer>
>> <text id="3">
>> <property name="contentType">html</property>
>> <text-property name="content"><![CDATA[<value-of>new
>> Date()</value-of>]]></text-property>
>> </text>
>> </page-footer>
>> </simple-master-page>
>> </page-setup>
>> <body>
>> <label id="7">
>> <text-property name="text">This works:</text-property>
>> </label>
>> <image id="8">
>> <property name="source">embed</property>
>> <property name="imageName">my_image</property>
>> </image>
>> <label id="10">
>> <text-property name="text">This does not:</text-property>
>> </label>
>> <text id="9">
>> <property name="contentType">html</property>
>> <text-property name="content"><![CDATA[<IMAGE
>> name="my_image"/>]]></text-property>
>> </text>
>> </body>
>> <list-property name="images">
>> <structure>
>> <property name="name">my_image</property>
>> <property name="data">
>>
>> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>>
>>
>>
>> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>>
>>
>>
>> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>>
>>
>>
>> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>>
>>
>>
>> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>>
>>
>>
>> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>>
>>
>>
>> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>>
>>
>>
>> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>>
>>
>>
>> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>>
>>
>>
>> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>>
>>
>>
>> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>>
>>
>>
>> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>>
>>
>>
>> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>>
>>
>>
>> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>>
>>
>>
>> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>>
>>
>>
>> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>>
>>
>>
>> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>>
>>
>>
>> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>>
>>
>>
>> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>>
>>
>>
>> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>>
>>
>>
>> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>>
>>
>>
>> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>>
>>
>>
>> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>>
>>
>>
>> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>>
>>
>>
>> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>>
>>
>>
>> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>>
>>
>>
>> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>>
>>
>>
>> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>>
>>
>>
>> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>>
>>
>>
>> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>>
>>
>>
>> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>>
>>
>>
>> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>>
>>
>>
>> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>>
>>
>>
>> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>>
>>
>>
>> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>>
>>
>>
>> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>>
>>
>>
>> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>>
>>
>>
>> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>>
>>
>>
>> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>>
>>
>>
>> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>>
>>
>>
>> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>>
>>
>>
>> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>>
>>
>>
>> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>>
>>
>> IjERiIxEYiMRGIn/2Q==
>> </property>
>> </structure>
>> </list-property>
>> </report>
>
Re: IHTMLImageHandler not used when rendering images embedded using &lt;IMAGE&gt; tag [message #671089 is a reply to message #671085] Mon, 16 May 2011 18:13 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

This is the code I used and it worked for me:


package REAPI;



import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.logging.Level;

import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineConstants;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLActionHandler;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IPDFRenderOption;
import org.eclipse.birt.report.engine.api.PDFRenderOption;

import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
import org.eclipse.birt.report.engine.api.IGetParameterDefinitionTa sk;
import org.eclipse.birt.report.engine.api.IParameterSelectionChoice ;

import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.RenderOption;

import org.eclipse.birt.report.engine.api.IParameterDefnBase;
import org.eclipse.birt.report.model.api.DesignElementHandle;
import org.eclipse.birt.report.model.api.ReportDesignHandle;
import org.eclipse.birt.report.model.api.SlotHandle;


public class RunAndRenderTask {

public void runReport() throws EngineException
{

IRunAndRenderTask task=null;
IReportEngine engine=null;
EngineConfig config = null;

try{
//System.setProperty("java.io.tmpdir", "c:/temp/test/testsampledb");
config = new EngineConfig( );

config.setBIRTHome(" C:\\birt\\birt-runtime-2_6_2\\birt-runtime-2_6_2\\ReportEngi ne ");
Platform.startup( config );

IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(
IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );
IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign("Reports/myimage.rptdesign");

//design = engine.openReportDesign("Reports/remotelib.rptdesign");
//design = engine.openReportDesign("Reports/JsInclude.rptdesign");
ReportDesignHandle rdh = (ReportDesignHandle)design.getDesignHandle();

//Create task to run and render the report,
task = engine.createRunAndRenderTask(design);
//task.setProgressMonitor(new MyProgressMonitor());
task.setLocale(new Locale("en", "US"));


HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFileName("output/resample/myimage.html");
options.setOutputFormat("HTML");


options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\image\\images ");

//ImageHandlerTest
// options.setImageHandler(new MyImageHandler());
options.setImageHandler(new HTMLServerImageHandler());
//options.setImageHandler(new HTMLCompleteImageHandler());
options.setBaseImageURL("http://localhost:8080/image/images/");
task.setRenderOption(options);
task.run();

task.close();
engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}
finally
{
if ( !task.getErrors( ).isEmpty( ) )

{

for ( Object e : task.getErrors( ) )

{

( (Exception) e ).printStackTrace( );

}

}
Platform.shutdown( );
System.out.println("Finished");
}

}


/**
* @param args
*/
public static void main(String[] args) {
try
{

RunAndRenderTask ex = new RunAndRenderTask( );
ex.runReport();

}
catch ( Exception e )
{
e.printStackTrace();
}
}
private class CancelReport extends Thread
{
private IRunAndRenderTask rTask;
public CancelReport( String threadName, IRunAndRenderTask task){
super(threadName);
rTask = task;

}
public void run()
{
try{
Thread.currentThread().sleep( 100 );
rTask.cancel();
System.out.println("######Report Cancelled#######");

}
catch(Exception e)
{
e.printStackTrace();
}
}
}


}


You could look at implementing your own image handler and debugging it.
Here is an example of an imagehandler

package REAPI;


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.eclipse.birt.report.engine.api.HTMLImageHandler;
import org.eclipse.birt.report.engine.api.IImage;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.RenderOption;

import org.eclipse.birt.report.engine.api.IRenderOption;
import org.eclipse.birt.report.engine.api.HTMLRenderContext;

import org.eclipse.birt.report.engine.api.EngineException;


import org.eclipse.birt.report.engine.api.script.IReportContext;


import org.eclipse.birt.report.engine.i18n.MessageConstants;

/**
* Default implementation for writing images in a form that is used in a
* web-application.
*/
public class MyImageHandler extends HTMLImageHandler
{

private String handlerId;
private int count = 0;

private static HashMap map = new HashMap( );

/**
* dummy constructor
*/
public MyImageHandler( )
{
String codePart = Integer.toHexString( this.hashCode( ) );
String timePart = Long.toHexString( System.currentTimeMillis( ) );
handlerId = codePart + timePart;
}

public String onDesignImage( IImage image, Object context )
{
return handleImage( image, context, "design", true ); //$NON-NLS-1$
}


public String onDocImage( IImage image, Object context )
{
// TODO Auto-generated method stub
return null;
}

public String onURLImage( IImage image, Object context )
{
assert ( image != null );
String uri = image.getID( );
if (uri.startsWith( "http:" ) || uri.startsWith( "https:" ))
{
return uri;
}
return handleImage( image, context, "uri", true ); //$NON-NLS-1$
}


public String onCustomImage( IImage image, Object context )
{
return handleImage( image, context, "custom", false ); //$NON-NLS-1$
}

/**
* returns a unique file name based on a directory and name prefix
*
* @param imageDir
* directory to store the image
* @param prefix
* prefix for the file name
* @return a file name
*/
protected String createUniqueFileName( String imageDir, String prefix )
{
return createUniqueFileName( imageDir, prefix, null );
}

/**
* creates a unique tempoary file to store an image
*
* @param imageDir
* directory to put image into
* @param prefix
* file name prefix
* @param postfix
* file name postfix
* @return a Java File Object
*/
protected String createUniqueFileName( String imageDir, String prefix,
String postfix )
{
File file = null;
postfix = ( postfix == null ? "" : postfix );
String uniCount = null;
do
{
uniCount = genUniqueCount( );
file = new File( imageDir + "/" + prefix + uniCount + postfix );
//$NON-NLS-1$
} while ( file.exists( ) );

return prefix + uniCount + postfix;
}

/**
* Generating unique string which contains following parts
* <li> the hashcode of the image handler
* <li> creation time of the image handler
* <li> image count created by the image handler
* @return return the unique count for filename
*/
synchronized private String genUniqueCount( )
{
count++;
return handlerId + count;
}


public String onFileImage( IImage image, Object context )
{
return handleImage( image, context, "file", true ); //$NON-NLS-1$
}

/**
* handles an image report item and returns an image URL
*
* @param image
* represents the image design information
* @param context
* context information
* @param prefix
* image prefix in URL
* @param needMap
* whether image map is needed
* @return URL for the image
*/
protected String handleImage( IImage image, Object context, String prefix,
boolean needMap )
{
String mapID = null;
if ( needMap )
{
mapID = getImageMapID( image );
if ( map.containsKey( mapID ) )
{
return (String) map.get( mapID );
}
}
String ret = null;
//if ( context != null && ( context instanceof HTMLRenderOption ) )
if ( context != null )
{
HTMLRenderContext myContext = (HTMLRenderContext) context;

//IRenderOption rotest = image.getRenderOption();

//HTMLRenderOption ro = (HTMLRenderOption)image.getRenderOption();
String imageURL = myContext.getBaseImageURL( );
String imageDir = myContext.getImageDirectory( );
if ( imageURL == null || imageURL.length( ) == 0
|| imageDir == null || imageDir.length( ) == 0 )
{
System.out.println("Error in image settings");
return null;
}

String fileName;
File file;
String extension = image.getExtension( );
if ( extension != null && extension.length( ) > 0 )
{
fileName = createUniqueFileName( imageDir, prefix, extension );
//$NON-NLS-1$
}
else
{
fileName = createUniqueFileName( imageDir, prefix );
}
file = new File( imageDir, fileName ); //$NON-NLS-1$
try
{
image.writeImage( file );
}
catch ( IOException e )
{
e.printStackTrace();
}
// servlet mode
if ( imageURL.indexOf( "?" ) > 0 ) //$NON-NLS-1$
{
ret = imageURL + fileName + "&specialid=test";
}
else if ( imageURL.endsWith( "/" ) ) //$NON-NLS-1$
{
ret = imageURL + fileName;
}
else
{
ret = imageURL + "/" + fileName; //$NON-NLS-1$
}

if ( needMap )
{
map.put( mapID, ret );
}

}
else
{
ret = handleTempImage( image, prefix, needMap );
}

return ret;
}

protected String handleTempImage( IImage image, String prefix,
boolean needMap )
{
try
{

File imageFile = File.createTempFile( prefix, ".img" );
image.writeImage( imageFile );
String fileName = imageFile.getAbsolutePath( );
if ( needMap )
{
String mapID = getImageMapID( image );
map.put( mapID, fileName );
}
return fileName;
}
catch ( IOException e )
{
e.printStackTrace();
}
return "unknow.img";
}

/**
* returns the unique identifier for the image
*
* @param image
* the image object
* @return the image id
*/
protected String getImageMapID( IImage image )
{
if ( image.getReportRunnable( ) != null )
{
return image.getReportRunnable( ).hashCode( ) + image.getID( );
}
return image.getID( );
}


}

Jason

On 5/16/2011 1:56 PM, Michał Tkacz wrote:
> On 05/16/2011 07:30 PM, Jason Weathersby wrote:
>> Can you try the attached report?
>>
>> Jason
>
> I can see your point. Unfortunately it didn't help, even when I changed
> png to jpg and image/png to image/jpeg (the image was jpeg).
>
> The second url still points to a file on disk whereas it should be
> generated by HTMLServerImageHandler (which unfortunately is only called
> for the first image).
>
> Somehow however it works when run from Eclipse. I'd say it's my code
> that lacks something, not the report.
>
> Michal
>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
>> id="1">
>> <property name="createdBy">Eclipse BIRT Designer Version
>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>> <property name="units">in</property>
>> <property name="iconFile">/templates/blank_report.gif</property>
>> <property name="bidiLayoutOrientation">ltr</property>
>> <property name="imageDPI">81</property>
>> <styles>
>> <style name="report" id="4">
>> <property name="fontFamily">sans-serif</property>
>> <property name="fontSize">10pt</property>
>> </style>
>> <style name="crosstab-cell" id="5">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> <style name="crosstab" id="6">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> </styles>
>> <page-setup>
>> <simple-master-page name="Simple MasterPage" id="2">
>> <page-footer>
>> <text id="3">
>> <property name="contentType">html</property>
>> <text-property name="content"><![CDATA[<value-of>new
>> Date()</value-of>]]></text-property>
>> </text>
>> </page-footer>
>> </simple-master-page>
>> </page-setup>
>> <body>
>> <label id="7">
>> <text-property name="text">This works:</text-property>
>> </label>
>> <image id="8">
>> <property name="source">embed</property>
>> <property name="imageName">my_image.png</property>
>> </image>
>> <label id="10">
>> <text-property name="text">This does not:</text-property>
>> </label>
>> <text id="9">
>> <property name="contentType">html</property>
>> <text-property name="content"><![CDATA[<IMAGE
>> name="my_image.png"/>]]></text-property>
>> </text>
>> </body>
>> <list-property name="images">
>> <structure>
>> <property name="name">my_image.png</property>
>> <property name="type">image/png</property>
>> <property name="data">
>>
>> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>>
>>
>>
>> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>>
>>
>>
>> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>>
>>
>>
>> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>>
>>
>>
>> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>>
>>
>>
>> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>>
>>
>>
>> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>>
>>
>>
>> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>>
>>
>>
>> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>>
>>
>>
>> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>>
>>
>>
>> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>>
>>
>>
>> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>>
>>
>>
>> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>>
>>
>>
>> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>>
>>
>>
>> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>>
>>
>>
>> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>>
>>
>>
>> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>>
>>
>>
>> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>>
>>
>>
>> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>>
>>
>>
>> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>>
>>
>>
>> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>>
>>
>>
>> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>>
>>
>>
>> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>>
>>
>>
>> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>>
>>
>>
>> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>>
>>
>>
>> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>>
>>
>>
>> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>>
>>
>>
>> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>>
>>
>>
>> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>>
>>
>>
>> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>>
>>
>>
>> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>>
>>
>>
>> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>>
>>
>>
>> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>>
>>
>>
>> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>>
>>
>>
>> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>>
>>
>>
>> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>>
>>
>>
>> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>>
>>
>>
>> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>>
>>
>>
>> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>>
>>
>>
>> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>>
>>
>>
>> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>>
>>
>>
>> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>>
>>
>>
>> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>>
>>
>> IjERiIxEYiMRGIn/2Q==
>> </property>
>> </structure>
>> </list-property>
>> </report>
>>
>>
>>
>>
>> On 5/16/2011 1:02 PM, Michał Tkacz wrote:
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
>>> id="1">
>>> <property name="createdBy">Eclipse BIRT Designer Version
>>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>>> <property name="units">in</property>
>>> <property name="iconFile">/templates/blank_report.gif</property>
>>> <property name="bidiLayoutOrientation">ltr</property>
>>> <property name="imageDPI">81</property>
>>> <styles>
>>> <style name="report" id="4">
>>> <property name="fontFamily">sans-serif</property>
>>> <property name="fontSize">10pt</property>
>>> </style>
>>> <style name="crosstab-cell" id="5">
>>> <property name="borderBottomColor">#CCCCCC</property>
>>> <property name="borderBottomStyle">solid</property>
>>> <property name="borderBottomWidth">1pt</property>
>>> <property name="borderLeftColor">#CCCCCC</property>
>>> <property name="borderLeftStyle">solid</property>
>>> <property name="borderLeftWidth">1pt</property>
>>> <property name="borderRightColor">#CCCCCC</property>
>>> <property name="borderRightStyle">solid</property>
>>> <property name="borderRightWidth">1pt</property>
>>> <property name="borderTopColor">#CCCCCC</property>
>>> <property name="borderTopStyle">solid</property>
>>> <property name="borderTopWidth">1pt</property>
>>> </style>
>>> <style name="crosstab" id="6">
>>> <property name="borderBottomColor">#CCCCCC</property>
>>> <property name="borderBottomStyle">solid</property>
>>> <property name="borderBottomWidth">1pt</property>
>>> <property name="borderLeftColor">#CCCCCC</property>
>>> <property name="borderLeftStyle">solid</property>
>>> <property name="borderLeftWidth">1pt</property>
>>> <property name="borderRightColor">#CCCCCC</property>
>>> <property name="borderRightStyle">solid</property>
>>> <property name="borderRightWidth">1pt</property>
>>> <property name="borderTopColor">#CCCCCC</property>
>>> <property name="borderTopStyle">solid</property>
>>> <property name="borderTopWidth">1pt</property>
>>> </style>
>>> </styles>
>>> <page-setup>
>>> <simple-master-page name="Simple MasterPage" id="2">
>>> <page-footer>
>>> <text id="3">
>>> <property name="contentType">html</property>
>>> <text-property name="content"><![CDATA[<value-of>new
>>> Date()</value-of>]]></text-property>
>>> </text>
>>> </page-footer>
>>> </simple-master-page>
>>> </page-setup>
>>> <body>
>>> <label id="7">
>>> <text-property name="text">This works:</text-property>
>>> </label>
>>> <image id="8">
>>> <property name="source">embed</property>
>>> <property name="imageName">my_image</property>
>>> </image>
>>> <label id="10">
>>> <text-property name="text">This does not:</text-property>
>>> </label>
>>> <text id="9">
>>> <property name="contentType">html</property>
>>> <text-property name="content"><![CDATA[<IMAGE
>>> name="my_image"/>]]></text-property>
>>> </text>
>>> </body>
>>> <list-property name="images">
>>> <structure>
>>> <property name="name">my_image</property>
>>> <property name="data">
>>>
>>> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>>>
>>>
>>>
>>>
>>> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>>>
>>>
>>>
>>>
>>> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>>>
>>>
>>>
>>>
>>> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>>>
>>>
>>>
>>>
>>> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>>>
>>>
>>>
>>>
>>> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>>>
>>>
>>>
>>>
>>> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>>>
>>>
>>>
>>>
>>> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>>>
>>>
>>>
>>>
>>> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>>>
>>>
>>>
>>>
>>> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>>>
>>>
>>>
>>>
>>> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>>>
>>>
>>>
>>>
>>> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>>>
>>>
>>>
>>>
>>> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>>>
>>>
>>>
>>>
>>> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>>>
>>>
>>>
>>>
>>> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>>>
>>>
>>>
>>>
>>> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>>>
>>>
>>>
>>>
>>> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>>>
>>>
>>>
>>>
>>> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>>>
>>>
>>>
>>>
>>> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>>>
>>>
>>>
>>>
>>> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>>>
>>>
>>>
>>>
>>> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>>>
>>>
>>>
>>>
>>> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>>>
>>>
>>>
>>>
>>> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>>>
>>>
>>>
>>>
>>> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>>>
>>>
>>>
>>>
>>> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>>>
>>>
>>>
>>>
>>> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>>>
>>>
>>>
>>>
>>> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>>>
>>>
>>>
>>>
>>> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>>>
>>>
>>>
>>>
>>> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>>>
>>>
>>>
>>>
>>> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>>>
>>>
>>>
>>>
>>> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>>>
>>>
>>>
>>>
>>> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>>>
>>>
>>>
>>>
>>> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>>>
>>>
>>>
>>>
>>> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>>>
>>>
>>>
>>>
>>> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>>>
>>>
>>>
>>>
>>> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>>>
>>>
>>>
>>>
>>> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>>>
>>>
>>>
>>>
>>> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>>>
>>>
>>>
>>>
>>> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>>>
>>>
>>>
>>>
>>> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>>>
>>>
>>>
>>>
>>> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>>>
>>>
>>>
>>>
>>> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>>>
>>>
>>>
>>>
>>> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>>>
>>>
>>>
>>> IjERiIxEYiMRGIn/2Q==
>>> </property>
>>> </structure>
>>> </list-property>
>>> </report>
>>
>
Re: IHTMLImageHandler not used when rendering images embedded using &lt;IMAGE&gt; tag [message #671090 is a reply to message #671085] Mon, 16 May 2011 18:13 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

This is the code I used and it worked for me:


package REAPI;



import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.logging.Level;

import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineConstants;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLActionHandler;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IPDFRenderOption;
import org.eclipse.birt.report.engine.api.PDFRenderOption;

import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
import org.eclipse.birt.report.engine.api.IGetParameterDefinitionTa sk;
import org.eclipse.birt.report.engine.api.IParameterSelectionChoice ;

import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.RenderOption;

import org.eclipse.birt.report.engine.api.IParameterDefnBase;
import org.eclipse.birt.report.model.api.DesignElementHandle;
import org.eclipse.birt.report.model.api.ReportDesignHandle;
import org.eclipse.birt.report.model.api.SlotHandle;


public class RunAndRenderTask {

public void runReport() throws EngineException
{

IRunAndRenderTask task=null;
IReportEngine engine=null;
EngineConfig config = null;

try{
//System.setProperty("java.io.tmpdir", "c:/temp/test/testsampledb");
config = new EngineConfig( );

config.setBIRTHome(" C:\\birt\\birt-runtime-2_6_2\\birt-runtime-2_6_2\\ReportEngi ne ");
Platform.startup( config );

IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(
IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );
IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign("Reports/myimage.rptdesign");

//design = engine.openReportDesign("Reports/remotelib.rptdesign");
//design = engine.openReportDesign("Reports/JsInclude.rptdesign");
ReportDesignHandle rdh = (ReportDesignHandle)design.getDesignHandle();

//Create task to run and render the report,
task = engine.createRunAndRenderTask(design);
//task.setProgressMonitor(new MyProgressMonitor());
task.setLocale(new Locale("en", "US"));


HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFileName("output/resample/myimage.html");
options.setOutputFormat("HTML");


options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\image\\images ");

//ImageHandlerTest
// options.setImageHandler(new MyImageHandler());
options.setImageHandler(new HTMLServerImageHandler());
//options.setImageHandler(new HTMLCompleteImageHandler());
options.setBaseImageURL("http://localhost:8080/image/images/");
task.setRenderOption(options);
task.run();

task.close();
engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}
finally
{
if ( !task.getErrors( ).isEmpty( ) )

{

for ( Object e : task.getErrors( ) )

{

( (Exception) e ).printStackTrace( );

}

}
Platform.shutdown( );
System.out.println("Finished");
}

}


/**
* @param args
*/
public static void main(String[] args) {
try
{

RunAndRenderTask ex = new RunAndRenderTask( );
ex.runReport();

}
catch ( Exception e )
{
e.printStackTrace();
}
}
private class CancelReport extends Thread
{
private IRunAndRenderTask rTask;
public CancelReport( String threadName, IRunAndRenderTask task){
super(threadName);
rTask = task;

}
public void run()
{
try{
Thread.currentThread().sleep( 100 );
rTask.cancel();
System.out.println("######Report Cancelled#######");

}
catch(Exception e)
{
e.printStackTrace();
}
}
}


}


You could look at implementing your own image handler and debugging it.
Here is an example of an imagehandler

package REAPI;


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.eclipse.birt.report.engine.api.HTMLImageHandler;
import org.eclipse.birt.report.engine.api.IImage;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.RenderOption;

import org.eclipse.birt.report.engine.api.IRenderOption;
import org.eclipse.birt.report.engine.api.HTMLRenderContext;

import org.eclipse.birt.report.engine.api.EngineException;


import org.eclipse.birt.report.engine.api.script.IReportContext;


import org.eclipse.birt.report.engine.i18n.MessageConstants;

/**
* Default implementation for writing images in a form that is used in a
* web-application.
*/
public class MyImageHandler extends HTMLImageHandler
{

private String handlerId;
private int count = 0;

private static HashMap map = new HashMap( );

/**
* dummy constructor
*/
public MyImageHandler( )
{
String codePart = Integer.toHexString( this.hashCode( ) );
String timePart = Long.toHexString( System.currentTimeMillis( ) );
handlerId = codePart + timePart;
}

public String onDesignImage( IImage image, Object context )
{
return handleImage( image, context, "design", true ); //$NON-NLS-1$
}


public String onDocImage( IImage image, Object context )
{
// TODO Auto-generated method stub
return null;
}

public String onURLImage( IImage image, Object context )
{
assert ( image != null );
String uri = image.getID( );
if (uri.startsWith( "http:" ) || uri.startsWith( "https:" ))
{
return uri;
}
return handleImage( image, context, "uri", true ); //$NON-NLS-1$
}


public String onCustomImage( IImage image, Object context )
{
return handleImage( image, context, "custom", false ); //$NON-NLS-1$
}

/**
* returns a unique file name based on a directory and name prefix
*
* @param imageDir
* directory to store the image
* @param prefix
* prefix for the file name
* @return a file name
*/
protected String createUniqueFileName( String imageDir, String prefix )
{
return createUniqueFileName( imageDir, prefix, null );
}

/**
* creates a unique tempoary file to store an image
*
* @param imageDir
* directory to put image into
* @param prefix
* file name prefix
* @param postfix
* file name postfix
* @return a Java File Object
*/
protected String createUniqueFileName( String imageDir, String prefix,
String postfix )
{
File file = null;
postfix = ( postfix == null ? "" : postfix );
String uniCount = null;
do
{
uniCount = genUniqueCount( );
file = new File( imageDir + "/" + prefix + uniCount + postfix );
//$NON-NLS-1$
} while ( file.exists( ) );

return prefix + uniCount + postfix;
}

/**
* Generating unique string which contains following parts
* <li> the hashcode of the image handler
* <li> creation time of the image handler
* <li> image count created by the image handler
* @return return the unique count for filename
*/
synchronized private String genUniqueCount( )
{
count++;
return handlerId + count;
}


public String onFileImage( IImage image, Object context )
{
return handleImage( image, context, "file", true ); //$NON-NLS-1$
}

/**
* handles an image report item and returns an image URL
*
* @param image
* represents the image design information
* @param context
* context information
* @param prefix
* image prefix in URL
* @param needMap
* whether image map is needed
* @return URL for the image
*/
protected String handleImage( IImage image, Object context, String prefix,
boolean needMap )
{
String mapID = null;
if ( needMap )
{
mapID = getImageMapID( image );
if ( map.containsKey( mapID ) )
{
return (String) map.get( mapID );
}
}
String ret = null;
//if ( context != null && ( context instanceof HTMLRenderOption ) )
if ( context != null )
{
HTMLRenderContext myContext = (HTMLRenderContext) context;

//IRenderOption rotest = image.getRenderOption();

//HTMLRenderOption ro = (HTMLRenderOption)image.getRenderOption();
String imageURL = myContext.getBaseImageURL( );
String imageDir = myContext.getImageDirectory( );
if ( imageURL == null || imageURL.length( ) == 0
|| imageDir == null || imageDir.length( ) == 0 )
{
System.out.println("Error in image settings");
return null;
}

String fileName;
File file;
String extension = image.getExtension( );
if ( extension != null && extension.length( ) > 0 )
{
fileName = createUniqueFileName( imageDir, prefix, extension );
//$NON-NLS-1$
}
else
{
fileName = createUniqueFileName( imageDir, prefix );
}
file = new File( imageDir, fileName ); //$NON-NLS-1$
try
{
image.writeImage( file );
}
catch ( IOException e )
{
e.printStackTrace();
}
// servlet mode
if ( imageURL.indexOf( "?" ) > 0 ) //$NON-NLS-1$
{
ret = imageURL + fileName + "&specialid=test";
}
else if ( imageURL.endsWith( "/" ) ) //$NON-NLS-1$
{
ret = imageURL + fileName;
}
else
{
ret = imageURL + "/" + fileName; //$NON-NLS-1$
}

if ( needMap )
{
map.put( mapID, ret );
}

}
else
{
ret = handleTempImage( image, prefix, needMap );
}

return ret;
}

protected String handleTempImage( IImage image, String prefix,
boolean needMap )
{
try
{

File imageFile = File.createTempFile( prefix, ".img" );
image.writeImage( imageFile );
String fileName = imageFile.getAbsolutePath( );
if ( needMap )
{
String mapID = getImageMapID( image );
map.put( mapID, fileName );
}
return fileName;
}
catch ( IOException e )
{
e.printStackTrace();
}
return "unknow.img";
}

/**
* returns the unique identifier for the image
*
* @param image
* the image object
* @return the image id
*/
protected String getImageMapID( IImage image )
{
if ( image.getReportRunnable( ) != null )
{
return image.getReportRunnable( ).hashCode( ) + image.getID( );
}
return image.getID( );
}


}

Jason

On 5/16/2011 1:56 PM, Michał Tkacz wrote:
> On 05/16/2011 07:30 PM, Jason Weathersby wrote:
>> Can you try the attached report?
>>
>> Jason
>
> I can see your point. Unfortunately it didn't help, even when I changed
> png to jpg and image/png to image/jpeg (the image was jpeg).
>
> The second url still points to a file on disk whereas it should be
> generated by HTMLServerImageHandler (which unfortunately is only called
> for the first image).
>
> Somehow however it works when run from Eclipse. I'd say it's my code
> that lacks something, not the report.
>
> Michal
>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
>> id="1">
>> <property name="createdBy">Eclipse BIRT Designer Version
>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>> <property name="units">in</property>
>> <property name="iconFile">/templates/blank_report.gif</property>
>> <property name="bidiLayoutOrientation">ltr</property>
>> <property name="imageDPI">81</property>
>> <styles>
>> <style name="report" id="4">
>> <property name="fontFamily">sans-serif</property>
>> <property name="fontSize">10pt</property>
>> </style>
>> <style name="crosstab-cell" id="5">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> <style name="crosstab" id="6">
>> <property name="borderBottomColor">#CCCCCC</property>
>> <property name="borderBottomStyle">solid</property>
>> <property name="borderBottomWidth">1pt</property>
>> <property name="borderLeftColor">#CCCCCC</property>
>> <property name="borderLeftStyle">solid</property>
>> <property name="borderLeftWidth">1pt</property>
>> <property name="borderRightColor">#CCCCCC</property>
>> <property name="borderRightStyle">solid</property>
>> <property name="borderRightWidth">1pt</property>
>> <property name="borderTopColor">#CCCCCC</property>
>> <property name="borderTopStyle">solid</property>
>> <property name="borderTopWidth">1pt</property>
>> </style>
>> </styles>
>> <page-setup>
>> <simple-master-page name="Simple MasterPage" id="2">
>> <page-footer>
>> <text id="3">
>> <property name="contentType">html</property>
>> <text-property name="content"><![CDATA[<value-of>new
>> Date()</value-of>]]></text-property>
>> </text>
>> </page-footer>
>> </simple-master-page>
>> </page-setup>
>> <body>
>> <label id="7">
>> <text-property name="text">This works:</text-property>
>> </label>
>> <image id="8">
>> <property name="source">embed</property>
>> <property name="imageName">my_image.png</property>
>> </image>
>> <label id="10">
>> <text-property name="text">This does not:</text-property>
>> </label>
>> <text id="9">
>> <property name="contentType">html</property>
>> <text-property name="content"><![CDATA[<IMAGE
>> name="my_image.png"/>]]></text-property>
>> </text>
>> </body>
>> <list-property name="images">
>> <structure>
>> <property name="name">my_image.png</property>
>> <property name="type">image/png</property>
>> <property name="data">
>>
>> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>>
>>
>>
>> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>>
>>
>>
>> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>>
>>
>>
>> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>>
>>
>>
>> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>>
>>
>>
>> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>>
>>
>>
>> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>>
>>
>>
>> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>>
>>
>>
>> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>>
>>
>>
>> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>>
>>
>>
>> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>>
>>
>>
>> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>>
>>
>>
>> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>>
>>
>>
>> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>>
>>
>>
>> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>>
>>
>>
>> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>>
>>
>>
>> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>>
>>
>>
>> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>>
>>
>>
>> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>>
>>
>>
>> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>>
>>
>>
>> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>>
>>
>>
>> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>>
>>
>>
>> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>>
>>
>>
>> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>>
>>
>>
>> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>>
>>
>>
>> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>>
>>
>>
>> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>>
>>
>>
>> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>>
>>
>>
>> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>>
>>
>>
>> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>>
>>
>>
>> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>>
>>
>>
>> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>>
>>
>>
>> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>>
>>
>>
>> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>>
>>
>>
>> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>>
>>
>>
>> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>>
>>
>>
>> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>>
>>
>>
>> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>>
>>
>>
>> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>>
>>
>>
>> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>>
>>
>>
>> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>>
>>
>>
>> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>>
>>
>>
>> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>>
>>
>> IjERiIxEYiMRGIn/2Q==
>> </property>
>> </structure>
>> </list-property>
>> </report>
>>
>>
>>
>>
>> On 5/16/2011 1:02 PM, Michał Tkacz wrote:
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
>>> id="1">
>>> <property name="createdBy">Eclipse BIRT Designer Version
>>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>>> <property name="units">in</property>
>>> <property name="iconFile">/templates/blank_report.gif</property>
>>> <property name="bidiLayoutOrientation">ltr</property>
>>> <property name="imageDPI">81</property>
>>> <styles>
>>> <style name="report" id="4">
>>> <property name="fontFamily">sans-serif</property>
>>> <property name="fontSize">10pt</property>
>>> </style>
>>> <style name="crosstab-cell" id="5">
>>> <property name="borderBottomColor">#CCCCCC</property>
>>> <property name="borderBottomStyle">solid</property>
>>> <property name="borderBottomWidth">1pt</property>
>>> <property name="borderLeftColor">#CCCCCC</property>
>>> <property name="borderLeftStyle">solid</property>
>>> <property name="borderLeftWidth">1pt</property>
>>> <property name="borderRightColor">#CCCCCC</property>
>>> <property name="borderRightStyle">solid</property>
>>> <property name="borderRightWidth">1pt</property>
>>> <property name="borderTopColor">#CCCCCC</property>
>>> <property name="borderTopStyle">solid</property>
>>> <property name="borderTopWidth">1pt</property>
>>> </style>
>>> <style name="crosstab" id="6">
>>> <property name="borderBottomColor">#CCCCCC</property>
>>> <property name="borderBottomStyle">solid</property>
>>> <property name="borderBottomWidth">1pt</property>
>>> <property name="borderLeftColor">#CCCCCC</property>
>>> <property name="borderLeftStyle">solid</property>
>>> <property name="borderLeftWidth">1pt</property>
>>> <property name="borderRightColor">#CCCCCC</property>
>>> <property name="borderRightStyle">solid</property>
>>> <property name="borderRightWidth">1pt</property>
>>> <property name="borderTopColor">#CCCCCC</property>
>>> <property name="borderTopStyle">solid</property>
>>> <property name="borderTopWidth">1pt</property>
>>> </style>
>>> </styles>
>>> <page-setup>
>>> <simple-master-page name="Simple MasterPage" id="2">
>>> <page-footer>
>>> <text id="3">
>>> <property name="contentType">html</property>
>>> <text-property name="content"><![CDATA[<value-of>new
>>> Date()</value-of>]]></text-property>
>>> </text>
>>> </page-footer>
>>> </simple-master-page>
>>> </page-setup>
>>> <body>
>>> <label id="7">
>>> <text-property name="text">This works:</text-property>
>>> </label>
>>> <image id="8">
>>> <property name="source">embed</property>
>>> <property name="imageName">my_image</property>
>>> </image>
>>> <label id="10">
>>> <text-property name="text">This does not:</text-property>
>>> </label>
>>> <text id="9">
>>> <property name="contentType">html</property>
>>> <text-property name="content"><![CDATA[<IMAGE
>>> name="my_image"/>]]></text-property>
>>> </text>
>>> </body>
>>> <list-property name="images">
>>> <structure>
>>> <property name="name">my_image</property>
>>> <property name="data">
>>>
>>> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>>>
>>>
>>>
>>>
>>> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>>>
>>>
>>>
>>>
>>> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>>>
>>>
>>>
>>>
>>> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>>>
>>>
>>>
>>>
>>> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>>>
>>>
>>>
>>>
>>> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>>>
>>>
>>>
>>>
>>> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>>>
>>>
>>>
>>>
>>> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>>>
>>>
>>>
>>>
>>> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>>>
>>>
>>>
>>>
>>> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>>>
>>>
>>>
>>>
>>> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>>>
>>>
>>>
>>>
>>> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>>>
>>>
>>>
>>>
>>> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>>>
>>>
>>>
>>>
>>> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>>>
>>>
>>>
>>>
>>> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>>>
>>>
>>>
>>>
>>> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>>>
>>>
>>>
>>>
>>> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>>>
>>>
>>>
>>>
>>> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>>>
>>>
>>>
>>>
>>> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>>>
>>>
>>>
>>>
>>> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>>>
>>>
>>>
>>>
>>> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>>>
>>>
>>>
>>>
>>> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>>>
>>>
>>>
>>>
>>> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>>>
>>>
>>>
>>>
>>> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>>>
>>>
>>>
>>>
>>> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>>>
>>>
>>>
>>>
>>> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>>>
>>>
>>>
>>>
>>> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>>>
>>>
>>>
>>>
>>> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>>>
>>>
>>>
>>>
>>> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>>>
>>>
>>>
>>>
>>> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>>>
>>>
>>>
>>>
>>> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>>>
>>>
>>>
>>>
>>> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>>>
>>>
>>>
>>>
>>> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>>>
>>>
>>>
>>>
>>> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>>>
>>>
>>>
>>>
>>> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>>>
>>>
>>>
>>>
>>> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>>>
>>>
>>>
>>>
>>> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>>>
>>>
>>>
>>>
>>> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>>>
>>>
>>>
>>>
>>> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>>>
>>>
>>>
>>>
>>> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>>>
>>>
>>>
>>>
>>> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>>>
>>>
>>>
>>>
>>> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>>>
>>>
>>>
>>>
>>> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>>>
>>>
>>>
>>> IjERiIxEYiMRGIn/2Q==
>>> </property>
>>> </structure>
>>> </list-property>
>>> </report>
>>
>
Re: IHTMLImageHandler not used when rendering images embedded using &lt;IMAGE&gt; tag [message #671138 is a reply to message #671089] Mon, 16 May 2011 21:04 Go to previous message
Eclipse UserFriend
Originally posted by:

Debugging your code I discovered that the IResourceLocator
implementation I use (that I thought was not worth mentioning) was
incomplete. Everything works now.
Thanks for help!

Michal

On 05/16/2011 08:13 PM, Jason Weathersby wrote:
> This is the code I used and it worked for me:
>
>
> package REAPI;
>
>
>
> import java.io.ByteArrayOutputStream;
> import java.io.InputStream;
> import java.util.Collection;
> import java.util.HashMap;
> import java.util.Iterator;
> import java.util.List;
> import java.util.Locale;
> import java.util.Map;
> import java.util.logging.Level;
>
> import org.eclipse.birt.core.framework.Platform;
> import org.eclipse.birt.report.engine.api.EngineConfig;
> import org.eclipse.birt.report.engine.api.EngineConstants;
> import org.eclipse.birt.report.engine.api.EngineException;
> import org.eclipse.birt.report.engine.api.HTMLActionHandler;
> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
> import org.eclipse.birt.report.engine.api.IPDFRenderOption;
> import org.eclipse.birt.report.engine.api.PDFRenderOption;
>
> import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
> import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
> import org.eclipse.birt.report.engine.api.IGetParameterDefinitionTa sk;
> import org.eclipse.birt.report.engine.api.IParameterSelectionChoice ;
>
> import org.eclipse.birt.report.engine.api.IReportEngine;
> import org.eclipse.birt.report.engine.api.IReportEngineFactory;
> import org.eclipse.birt.report.engine.api.IReportRunnable;
> import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
> import org.eclipse.birt.report.engine.api.RenderOption;
>
> import org.eclipse.birt.report.engine.api.IParameterDefnBase;
> import org.eclipse.birt.report.model.api.DesignElementHandle;
> import org.eclipse.birt.report.model.api.ReportDesignHandle;
> import org.eclipse.birt.report.model.api.SlotHandle;
>
>
> public class RunAndRenderTask {
>
> public void runReport() throws EngineException
> {
>
> IRunAndRenderTask task=null;
> IReportEngine engine=null;
> EngineConfig config = null;
>
> try{
> //System.setProperty("java.io.tmpdir", "c:/temp/test/testsampledb");
> config = new EngineConfig( );
> config.setBIRTHome(" C:\\birt\\birt-runtime-2_6_2\\birt-runtime-2_6_2\\ReportEngi ne ");
>
> Platform.startup( config );
>
> IReportEngineFactory factory = (IReportEngineFactory) Platform
> .createFactoryObject(
> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
> engine = factory.createReportEngine( config );
> IReportRunnable design = null;
> //Open the report design
> design = engine.openReportDesign("Reports/myimage.rptdesign");
>
> //design = engine.openReportDesign("Reports/remotelib.rptdesign");
> //design = engine.openReportDesign("Reports/JsInclude.rptdesign");
> ReportDesignHandle rdh = (ReportDesignHandle)design.getDesignHandle();
>
> //Create task to run and render the report,
> task = engine.createRunAndRenderTask(design);
> //task.setProgressMonitor(new MyProgressMonitor());
> task.setLocale(new Locale("en", "US"));
>
>
> HTMLRenderOption options = new HTMLRenderOption();
> options.setOutputFileName("output/resample/myimage.html");
> options.setOutputFormat("HTML");
>
> options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\image\\images ");
>
>
> //ImageHandlerTest
> // options.setImageHandler(new MyImageHandler());
> options.setImageHandler(new HTMLServerImageHandler());
> //options.setImageHandler(new HTMLCompleteImageHandler());
> options.setBaseImageURL("http://localhost:8080/image/images/");
> task.setRenderOption(options);
> task.run();
>
> task.close();
> engine.destroy();
> }catch( Exception ex){
> ex.printStackTrace();
> }
> finally
> {
> if ( !task.getErrors( ).isEmpty( ) )
>
> {
>
> for ( Object e : task.getErrors( ) )
>
> {
>
> ( (Exception) e ).printStackTrace( );
>
> }
>
> }
> Platform.shutdown( );
> System.out.println("Finished");
> }
>
> }
>
>
> /**
> * @param args
> */
> public static void main(String[] args) {
> try
> {
>
> RunAndRenderTask ex = new RunAndRenderTask( );
> ex.runReport();
>
> }
> catch ( Exception e )
> {
> e.printStackTrace();
> }
> }
> private class CancelReport extends Thread
> {
> private IRunAndRenderTask rTask;
> public CancelReport( String threadName, IRunAndRenderTask task){
> super(threadName);
> rTask = task;
>
> }
> public void run()
> {
> try{
> Thread.currentThread().sleep( 100 );
> rTask.cancel();
> System.out.println("######Report Cancelled#######");
>
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> }
> }
>
>
> }
>
>
> You could look at implementing your own image handler and debugging it.
> Here is an example of an imagehandler
>
> package REAPI;
>
>
> import java.io.File;
> import java.io.FileInputStream;
> import java.io.IOException;
> import java.io.InputStream;
> import java.io.OutputStream;
> import java.util.HashMap;
> import java.util.logging.Level;
> import java.util.logging.Logger;
> import org.eclipse.birt.report.engine.api.HTMLImageHandler;
> import org.eclipse.birt.report.engine.api.IImage;
> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
> import org.eclipse.birt.report.engine.api.RenderOption;
>
> import org.eclipse.birt.report.engine.api.IRenderOption;
> import org.eclipse.birt.report.engine.api.HTMLRenderContext;
>
> import org.eclipse.birt.report.engine.api.EngineException;
>
>
> import org.eclipse.birt.report.engine.api.script.IReportContext;
>
>
> import org.eclipse.birt.report.engine.i18n.MessageConstants;
>
> /**
> * Default implementation for writing images in a form that is used in a
> * web-application.
> */
> public class MyImageHandler extends HTMLImageHandler
> {
>
> private String handlerId;
> private int count = 0;
>
> private static HashMap map = new HashMap( );
>
> /**
> * dummy constructor
> */
> public MyImageHandler( )
> {
> String codePart = Integer.toHexString( this.hashCode( ) );
> String timePart = Long.toHexString( System.currentTimeMillis( ) );
> handlerId = codePart + timePart;
> }
>
> public String onDesignImage( IImage image, Object context )
> {
> return handleImage( image, context, "design", true ); //$NON-NLS-1$
> }
>
>
> public String onDocImage( IImage image, Object context )
> {
> // TODO Auto-generated method stub
> return null;
> }
>
> public String onURLImage( IImage image, Object context )
> {
> assert ( image != null );
> String uri = image.getID( );
> if (uri.startsWith( "http:" ) || uri.startsWith( "https:" ))
> {
> return uri;
> }
> return handleImage( image, context, "uri", true ); //$NON-NLS-1$
> }
>
>
> public String onCustomImage( IImage image, Object context )
> {
> return handleImage( image, context, "custom", false ); //$NON-NLS-1$
> }
>
> /**
> * returns a unique file name based on a directory and name prefix
> *
> * @param imageDir
> * directory to store the image
> * @param prefix
> * prefix for the file name
> * @return a file name
> */
> protected String createUniqueFileName( String imageDir, String prefix )
> {
> return createUniqueFileName( imageDir, prefix, null );
> }
>
> /**
> * creates a unique tempoary file to store an image
> *
> * @param imageDir
> * directory to put image into
> * @param prefix
> * file name prefix
> * @param postfix
> * file name postfix
> * @return a Java File Object
> */
> protected String createUniqueFileName( String imageDir, String prefix,
> String postfix )
> {
> File file = null;
> postfix = ( postfix == null ? "" : postfix );
> String uniCount = null;
> do
> {
> uniCount = genUniqueCount( );
> file = new File( imageDir + "/" + prefix + uniCount + postfix );
> //$NON-NLS-1$
> } while ( file.exists( ) );
>
> return prefix + uniCount + postfix;
> }
>
> /**
> * Generating unique string which contains following parts
> * <li> the hashcode of the image handler
> * <li> creation time of the image handler
> * <li> image count created by the image handler
> * @return return the unique count for filename
> */
> synchronized private String genUniqueCount( )
> {
> count++;
> return handlerId + count;
> }
>
>
> public String onFileImage( IImage image, Object context )
> {
> return handleImage( image, context, "file", true ); //$NON-NLS-1$
> }
>
> /**
> * handles an image report item and returns an image URL
> *
> * @param image
> * represents the image design information
> * @param context
> * context information
> * @param prefix
> * image prefix in URL
> * @param needMap
> * whether image map is needed
> * @return URL for the image
> */
> protected String handleImage( IImage image, Object context, String prefix,
> boolean needMap )
> {
> String mapID = null;
> if ( needMap )
> {
> mapID = getImageMapID( image );
> if ( map.containsKey( mapID ) )
> {
> return (String) map.get( mapID );
> }
> }
> String ret = null;
> //if ( context != null && ( context instanceof HTMLRenderOption ) )
> if ( context != null )
> {
> HTMLRenderContext myContext = (HTMLRenderContext) context;
>
> //IRenderOption rotest = image.getRenderOption();
>
> //HTMLRenderOption ro = (HTMLRenderOption)image.getRenderOption();
> String imageURL = myContext.getBaseImageURL( );
> String imageDir = myContext.getImageDirectory( );
> if ( imageURL == null || imageURL.length( ) == 0
> || imageDir == null || imageDir.length( ) == 0 )
> {
> System.out.println("Error in image settings");
> return null;
> }
>
> String fileName;
> File file;
> String extension = image.getExtension( );
> if ( extension != null && extension.length( ) > 0 )
> {
> fileName = createUniqueFileName( imageDir, prefix, extension );
> //$NON-NLS-1$
> }
> else
> {
> fileName = createUniqueFileName( imageDir, prefix );
> }
> file = new File( imageDir, fileName ); //$NON-NLS-1$
> try
> {
> image.writeImage( file );
> }
> catch ( IOException e )
> {
> e.printStackTrace();
> }
> // servlet mode
> if ( imageURL.indexOf( "?" ) > 0 ) //$NON-NLS-1$
> {
> ret = imageURL + fileName + "&specialid=test";
> }
> else if ( imageURL.endsWith( "/" ) ) //$NON-NLS-1$
> {
> ret = imageURL + fileName;
> }
> else
> {
> ret = imageURL + "/" + fileName; //$NON-NLS-1$
> }
>
> if ( needMap )
> {
> map.put( mapID, ret );
> }
>
> }
> else
> {
> ret = handleTempImage( image, prefix, needMap );
> }
>
> return ret;
> }
>
> protected String handleTempImage( IImage image, String prefix,
> boolean needMap )
> {
> try
> {
>
> File imageFile = File.createTempFile( prefix, ".img" );
> image.writeImage( imageFile );
> String fileName = imageFile.getAbsolutePath( );
> if ( needMap )
> {
> String mapID = getImageMapID( image );
> map.put( mapID, fileName );
> }
> return fileName;
> }
> catch ( IOException e )
> {
> e.printStackTrace();
> }
> return "unknow.img";
> }
>
> /**
> * returns the unique identifier for the image
> *
> * @param image
> * the image object
> * @return the image id
> */
> protected String getImageMapID( IImage image )
> {
> if ( image.getReportRunnable( ) != null )
> {
> return image.getReportRunnable( ).hashCode( ) + image.getID( );
> }
> return image.getID( );
> }
>
>
> }
>
> Jason
>
> On 5/16/2011 1:56 PM, Michał Tkacz wrote:
>> On 05/16/2011 07:30 PM, Jason Weathersby wrote:
>>> Can you try the attached report?
>>>
>>> Jason
>>
>> I can see your point. Unfortunately it didn't help, even when I changed
>> png to jpg and image/png to image/jpeg (the image was jpeg).
>>
>> The second url still points to a file on disk whereas it should be
>> generated by HTMLServerImageHandler (which unfortunately is only called
>> for the first image).
>>
>> Somehow however it works when run from Eclipse. I'd say it's my code
>> that lacks something, not the report.
>>
>> Michal
>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22"
>>> id="1">
>>> <property name="createdBy">Eclipse BIRT Designer Version
>>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>>> <property name="units">in</property>
>>> <property name="iconFile">/templates/blank_report.gif</property>
>>> <property name="bidiLayoutOrientation">ltr</property>
>>> <property name="imageDPI">81</property>
>>> <styles>
>>> <style name="report" id="4">
>>> <property name="fontFamily">sans-serif</property>
>>> <property name="fontSize">10pt</property>
>>> </style>
>>> <style name="crosstab-cell" id="5">
>>> <property name="borderBottomColor">#CCCCCC</property>
>>> <property name="borderBottomStyle">solid</property>
>>> <property name="borderBottomWidth">1pt</property>
>>> <property name="borderLeftColor">#CCCCCC</property>
>>> <property name="borderLeftStyle">solid</property>
>>> <property name="borderLeftWidth">1pt</property>
>>> <property name="borderRightColor">#CCCCCC</property>
>>> <property name="borderRightStyle">solid</property>
>>> <property name="borderRightWidth">1pt</property>
>>> <property name="borderTopColor">#CCCCCC</property>
>>> <property name="borderTopStyle">solid</property>
>>> <property name="borderTopWidth">1pt</property>
>>> </style>
>>> <style name="crosstab" id="6">
>>> <property name="borderBottomColor">#CCCCCC</property>
>>> <property name="borderBottomStyle">solid</property>
>>> <property name="borderBottomWidth">1pt</property>
>>> <property name="borderLeftColor">#CCCCCC</property>
>>> <property name="borderLeftStyle">solid</property>
>>> <property name="borderLeftWidth">1pt</property>
>>> <property name="borderRightColor">#CCCCCC</property>
>>> <property name="borderRightStyle">solid</property>
>>> <property name="borderRightWidth">1pt</property>
>>> <property name="borderTopColor">#CCCCCC</property>
>>> <property name="borderTopStyle">solid</property>
>>> <property name="borderTopWidth">1pt</property>
>>> </style>
>>> </styles>
>>> <page-setup>
>>> <simple-master-page name="Simple MasterPage" id="2">
>>> <page-footer>
>>> <text id="3">
>>> <property name="contentType">html</property>
>>> <text-property name="content"><![CDATA[<value-of>new
>>> Date()</value-of>]]></text-property>
>>> </text>
>>> </page-footer>
>>> </simple-master-page>
>>> </page-setup>
>>> <body>
>>> <label id="7">
>>> <text-property name="text">This works:</text-property>
>>> </label>
>>> <image id="8">
>>> <property name="source">embed</property>
>>> <property name="imageName">my_image.png</property>
>>> </image>
>>> <label id="10">
>>> <text-property name="text">This does not:</text-property>
>>> </label>
>>> <text id="9">
>>> <property name="contentType">html</property>
>>> <text-property name="content"><![CDATA[<IMAGE
>>> name="my_image.png"/>]]></text-property>
>>> </text>
>>> </body>
>>> <list-property name="images">
>>> <structure>
>>> <property name="name">my_image.png</property>
>>> <property name="type">image/png</property>
>>> <property name="data">
>>>
>>> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>>>
>>>
>>>
>>>
>>> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>>>
>>>
>>>
>>>
>>> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>>>
>>>
>>>
>>>
>>> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>>>
>>>
>>>
>>>
>>> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>>>
>>>
>>>
>>>
>>> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>>>
>>>
>>>
>>>
>>> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>>>
>>>
>>>
>>>
>>> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>>>
>>>
>>>
>>>
>>> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>>>
>>>
>>>
>>>
>>> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>>>
>>>
>>>
>>>
>>> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>>>
>>>
>>>
>>>
>>> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>>>
>>>
>>>
>>>
>>> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>>>
>>>
>>>
>>>
>>> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>>>
>>>
>>>
>>>
>>> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>>>
>>>
>>>
>>>
>>> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>>>
>>>
>>>
>>>
>>> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>>>
>>>
>>>
>>>
>>> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>>>
>>>
>>>
>>>
>>> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>>>
>>>
>>>
>>>
>>> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>>>
>>>
>>>
>>>
>>> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>>>
>>>
>>>
>>>
>>> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>>>
>>>
>>>
>>>
>>> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>>>
>>>
>>>
>>>
>>> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>>>
>>>
>>>
>>>
>>> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>>>
>>>
>>>
>>>
>>> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>>>
>>>
>>>
>>>
>>> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>>>
>>>
>>>
>>>
>>> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>>>
>>>
>>>
>>>
>>> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>>>
>>>
>>>
>>>
>>> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>>>
>>>
>>>
>>>
>>> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>>>
>>>
>>>
>>>
>>> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>>>
>>>
>>>
>>>
>>> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>>>
>>>
>>>
>>>
>>> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>>>
>>>
>>>
>>>
>>> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>>>
>>>
>>>
>>>
>>> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>>>
>>>
>>>
>>>
>>> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>>>
>>>
>>>
>>>
>>> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>>>
>>>
>>>
>>>
>>> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>>>
>>>
>>>
>>>
>>> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>>>
>>>
>>>
>>>
>>> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>>>
>>>
>>>
>>>
>>> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>>>
>>>
>>>
>>>
>>> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>>>
>>>
>>>
>>> IjERiIxEYiMRGIn/2Q==
>>> </property>
>>> </structure>
>>> </list-property>
>>> </report>
>>>
>>>
>>>
>>>
>>> On 5/16/2011 1:02 PM, Michał Tkacz wrote:
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <report xmlns="http://www.eclipse.org/birt/2005/design"
>>>> version="3.2.22"
>>>> id="1">
>>>> <property name="createdBy">Eclipse BIRT Designer Version
>>>> 2.6.2.r262_v20110209 Build &lt;2.6.2.v20110214-1523></property>
>>>> <property name="units">in</property>
>>>> <property name="iconFile">/templates/blank_report.gif</property>
>>>> <property name="bidiLayoutOrientation">ltr</property>
>>>> <property name="imageDPI">81</property>
>>>> <styles>
>>>> <style name="report" id="4">
>>>> <property name="fontFamily">sans-serif</property>
>>>> <property name="fontSize">10pt</property>
>>>> </style>
>>>> <style name="crosstab-cell" id="5">
>>>> <property name="borderBottomColor">#CCCCCC</property>
>>>> <property name="borderBottomStyle">solid</property>
>>>> <property name="borderBottomWidth">1pt</property>
>>>> <property name="borderLeftColor">#CCCCCC</property>
>>>> <property name="borderLeftStyle">solid</property>
>>>> <property name="borderLeftWidth">1pt</property>
>>>> <property name="borderRightColor">#CCCCCC</property>
>>>> <property name="borderRightStyle">solid</property>
>>>> <property name="borderRightWidth">1pt</property>
>>>> <property name="borderTopColor">#CCCCCC</property>
>>>> <property name="borderTopStyle">solid</property>
>>>> <property name="borderTopWidth">1pt</property>
>>>> </style>
>>>> <style name="crosstab" id="6">
>>>> <property name="borderBottomColor">#CCCCCC</property>
>>>> <property name="borderBottomStyle">solid</property>
>>>> <property name="borderBottomWidth">1pt</property>
>>>> <property name="borderLeftColor">#CCCCCC</property>
>>>> <property name="borderLeftStyle">solid</property>
>>>> <property name="borderLeftWidth">1pt</property>
>>>> <property name="borderRightColor">#CCCCCC</property>
>>>> <property name="borderRightStyle">solid</property>
>>>> <property name="borderRightWidth">1pt</property>
>>>> <property name="borderTopColor">#CCCCCC</property>
>>>> <property name="borderTopStyle">solid</property>
>>>> <property name="borderTopWidth">1pt</property>
>>>> </style>
>>>> </styles>
>>>> <page-setup>
>>>> <simple-master-page name="Simple MasterPage" id="2">
>>>> <page-footer>
>>>> <text id="3">
>>>> <property name="contentType">html</property>
>>>> <text-property name="content"><![CDATA[<value-of>new
>>>> Date()</value-of>]]></text-property>
>>>> </text>
>>>> </page-footer>
>>>> </simple-master-page>
>>>> </page-setup>
>>>> <body>
>>>> <label id="7">
>>>> <text-property name="text">This works:</text-property>
>>>> </label>
>>>> <image id="8">
>>>> <property name="source">embed</property>
>>>> <property name="imageName">my_image</property>
>>>> </image>
>>>> <label id="10">
>>>> <text-property name="text">This does not:</text-property>
>>>> </label>
>>>> <text id="9">
>>>> <property name="contentType">html</property>
>>>> <text-property name="content"><![CDATA[<IMAGE
>>>> name="my_image"/>]]></text-property>
>>>> </text>
>>>> </body>
>>>> <list-property name="images">
>>>> <structure>
>>>> <property name="name">my_image</property>
>>>> <property name="data">
>>>>
>>>> /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFk b2JlAGTAAAAAAf/bAIQA
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC AgICAgICAgICAwMDAwMD
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> AwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMD
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> AwMDAwMDAwMD/8AAEQgASABIAwERAAIRAQMRAf/EAJgAAQAABgMBAQAAAAAA AAAAAAACBAYHCAkBBQoD
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> CwEBAAIDAQEAAAAAAAAAAAAAAAEEAgUGAwcQAAAGAgIBAwIEBwEAAAAAAAEC AwQFBgAHEQgSIRMUMUFR
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> cdEJkbHBIjIWChgRAAICAQMCBAQEAwkAAAAAAAECABEDIRIEMQVBUWET8IEi FHGRMgahwdGx4fFCYnIj
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> MxX/2gAMAwEAAhEDEQA/APfxiIxEYiMRGIjERiIxEYiMRGIjERiIxEYiMRGI jERiIxEfT1H0xEllHaCX
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> +RwAfzzIKTE+JZJqYeAUL/EP6ZPtvV1IuThFCKByUwDmJBEmR5ERiIxEYiSj x80j0fkvV02rcDFIdwsI
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> kQSE3PiZdYQ9tBMRDjzOJS+QgHPIgA5Ij5G2oLbyHX5Dx+USnHs2JjJmbCVd kqn5++gYqhQTN/aRdI6Y
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> mK4ROf0ECcmAeOAN9vdMOn1aNAsnaP1X8fHlrNXfeb9wmI6htXKznXthuztq 3cKKNW08xrPCqPu+2U6r
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 6NkwI3cABRA4FFUAHkUvESibrOy9hHcED5MgQN0AXdpp/qAv0szN/tcGMtny OclXtRQ9ehYuou7ugwHr
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> NaOgP+iTQl6vkJRN+0ic6xOLQ4h29duVlt0ZbtZCpOtEncKpZrUpCUmVq0dN FdI/EkVIpaKBJYq7l22b
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> gZUNpyf2pkVC3FYZtpN0KOnXS21HiN1+ABNCanB3FMhC5QcbGqvo11qPkfw8 b1no0q93+ScUHAmSWRUM
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> gskqAlUSVIYQMmchvUpyiUfT65xvI4e3VdbFzY3Rrxl4WjtNyQDFMAiP4Dz9 g+/09c1TKVOsyk3mMRiJ
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> wI8AI/XjETBncXYO803YFgq0RZtdRkZHBEig1nI7US0sj82CjJBYHTizd3tQ Tx/ccPDmT9+ux/CYlAvv
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> pgRyt9G7D+1+3dw7Xi5vIw8t8r7rKNyQpp2XQY+08pOi61nfW72m0XmO4d25 XG5j4EfCuMVowxE6qCb3
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> czE3jeuNdOlimOM209szwwNNfxb2zLsJmubYeX1LQHU3d+/JydvTNjNsNVMI Swdb977N0DrKVpsutGTE
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> jH311ao60tXRSGGF8FlG/v8A+UeJ3DMuNUCYfaKLyuTx8J2EK2TaObx+Jnfe fcVGw4EONhQOTRn3Pbe6
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ZV4y8gshyOpRtuJnUgkg/wDW+cLYoMVy7ipOq7iJoC7Mh2r7B6f0lYv/ABns PczHYvWuzbJ3TvUdj7pp
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> CGptp2HYGyau7otdi6VsAvXyCe9eK/QkJeReXGHs5LieebLcR6JDEcdDx+Av B7tyOCHHHGHLiXHiyZuF
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 7uS8aNreNXyDISQPaoISF+o4zNW/chl4aZxWQujksmPMEUi7NFmKbCKO4jcw Lf5qNiz9Rb5YFt4r2ajb
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 9bN61/zya5qMT/q3YSOpEY62DVen3WWNZ0SXZ0xvBydtjlJpCUJJtpZeRqMm 4RMZeOUL7YEpZMGbBxca
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ors576yHc+IsT7mUVZSg52ge4unVqAIEs4uTx3yC2XXgXorjQkG9OmhoA34e RM3b6f2N2E68dTtWSDrX
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> LSH1/pj9pnTt/kLls6y7Nslxnu0zKpTMLVqApspCTjdEbAayzylwkK9g2KTW wO31uQdNHDZJAqK1Idt4
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> nM5J42bIzcw93bB7Qbj7vYFbnKhTlVgNznNRxWhBUswlkck7R9Q2HEGLFWq/ 9zaaaAL+rXTpUzssvZHb
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> VW2AgZCXp9X1q72PragtIXa2j9+0K8rPbBWLcK0ZTdhSdmmtQb6dXKSp7yYa OK0nFKVqK+O3lWqhnBHm
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ajH2Lh5bwOGycnZka8WfBkQKrpqyqPcxFAwU+5e9rKH6Sp9sebcq2fosD9LL 1A0G4ix42LAHzMynS3Fc
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Bup4hnDT0vBOL5Bwkas01LfY6Ib1Jw1XayFkfbSmn5aLaWcm7eNHzBeHImVN EDNhI5OJlU+YPCw+zuZl
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> GXYSRvW92mgQfUpGoO4+unSe4Jv0/l/W/jpeTrZx75QES8Dxz/L9c1bLtmcm sxidNMMl3LUxGTduq4OP
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> gHynCrdumXwOIKn9lFZRQCnAA8CgUR5/yD6564mVW+snb6Cz/L85I6zVp3p6 f1PelMlYO0QsNOy84yNH
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> N/lRYFYyzFsczpWCl2xV1nEnXAMscxyrnVIioYioF8g8Tdv+2u+fY8gZAt8c WGUnqGBHWhRIsDTpY6Tq
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> OwZ+CS3G7gN2DIm0nxFm9y2QNK1BIDKStruseDHtl+3zvLq5PzMO/wBT2ed1 e8kPnRdhgK06mo1ZvWTP
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> DsBuMdAtHDf51USOchJQ6B404KgdBch1VG6X0nH9ryF9/hsuXDV3oGUeTLoV PnptPgTOZ7l+0e79tZjw
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 1fk9rNH3MN5FrWvcVLZDQv8A5VW9GoEkC3HVb9unsB3VtsdAai0e+/1F7KN1 rJt200p7BamqaJjJ/Il5
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> i4vopCOk5Bu2J7iUbHHdyrvxAqSAhyYuq7j3bj8VDiDA5fIV6CwPyFzU4eK6 0cgYLWn5dP7h868P0C+v
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 3RnXuvqnqiqSjJC9NdNat1TqihvbJCRRFouI1VVnNaj5dNoxbIsgnJYZF24X cGIdUpnAkKcCAUM4PP3Z
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> sCNi45KKzMxonUt169BoNBpLwUHUjy/h8f46zN6D63aqa2dteRo8Aa2tV1nb OdVYpqPWDt0oks5dsPPl
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Fi7dKoEOoqkQiihigJhEc0ebu3KfGcO9vaPhfhPQBR0HWVkw0PqOOsqFxa0G soWdtIOpdCYQjUUnKMs/
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Kcr+URKQCooyL4FB95YpAUVH1MIj65UfuHMyIcbZGKEVXp4SNqjw1l2yJkTD ghQAMpkk9ZlI8iJCcTFI
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> YSE8zAA+JOQL5G+wCYfQoCP1H7ZI669IlLjV2qwv30gUsjKyCQJLOFCgBEWi QidCKYlEB+PHpHETCX6q
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> qmFQ4iIgAWPuGAVE+nGv8T4k+v8AYNBJRmRtwOsocNXMGQlOyUcN1hE51l2q yjdVZZZUy7hUxkTJiPuL
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> qGMHr6BwH2yz9+7fqA2+XkPKW/vs5H1UT+EmyUn3Tpi5UcOvaH+z5ThdyJfy Fwoqbj1/HnJPM0oUPkJU
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> di5s/wBJW8ZBt2JSgBCh48enAfbj9Mp5MzPManfgAFDgA4DPCTOcRGIjERiI xEYiMRGIjERiIxEYiMRG
>>>>
>>>>
>>>>
>>>>
>>>> IjERiIxEYiMRGIn/2Q==
>>>> </property>
>>>> </structure>
>>>> </list-property>
>>>> </report>
>>>
>>
>
Previous Topic:Which occurs first
Next Topic:view as pdf, the layout is distorted seriously
Goto Forum:
  


Current Time: Thu Mar 28 11:39:39 GMT 2024

Powered by FUDForum. Page generated in 0.03248 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top