繁体   English   中英

Jasper Reports - 显示来自 html 源的图像

[英]Jasper Reports - Show images from html source

我目前正在编辑由一位同事创建的代码,该同事使用Jasper Reports创建一个包含某些元素的PDF文件,其中一个元素是一堆 html 代码。 这个 html 由文本和图像组成(链接和base64 format )。

几乎一切正常,但我对 html 有问题。 最重要的是图像不会显示,其次并非所有 html 标签都得到处理。

这甚至可能与Jasper Reports吗?

模板中html应该去的当前代码:

<textField>
    <reportElement positionType="Float" x="100" y="73" width="611" height="307" uuid="d3037b2c-6592-4d7b-b703-d64f736ca4be"/>
    <textElement markup="html"/>
    <textFieldExpression><![CDATA[$F{content_1}]]></textFieldExpression>
</textField>

模板要处理的数据:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<compass>
    <messages>
        <message>
            <attachmentCount>0</attachmentCount>
            <attachmentString></attachmentString>
            <contactPerson>compassmanager manager</contactPerson>
            <contactPersonDepartment>Bike</contactPersonDepartment>
            <content>&lt;p&gt;&lt;b&gt;123&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;
                     img src="http://globalgamejam.org/sites/default
                     /files/styles/game_sidebar__normal
                     /public/game/featured_image/promo_5.png
                     ?itok=9dymM8JD" style="width: 135px;height:                          
                     98px;"/&gt;&lt;b&gt;&lt;br/&gt;&lt;
                     /b&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;
                     456&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;
                     u&gt;789&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;
                     img src="data:image/jpeg;base64,/9j/
                     4AAQSkZJRgABAgAAAQABAAD......
                     sxwW6jrcshiI96diGk3OT0joAQBR0nmptgn//2Q=="
                     style="width: 25%;"/&gt;&lt;u&gt;&lt;br/&gt;&lt;
                     /u&gt;&lt;/p&gt;&lt;p&gt;&lt;strike&gt;
                     012&lt;/strike&gt;&lt;/p&gt;</content>
            <countries>BE</countries>
            <departments>Sales</departments>
            <duedate>16/11/2015</duedate>
            <messageType>ACTION</messageType>
            <title>Testerij</title>
        </message>
    </messages>
    <publishdate>16/11/2015</publishdate>
    <title>Compass 47.7</title>
</compass>

解决方案

如果在 Jasper Studio 中找到了 html-component。 我和同事之间有过一个小小的讨论,它是否从一开始就存在,但这对于目前的情况来说并不重要。 正如 Petter Friberg 在下面所说的那样,它至少可以从 6.0 版及更高版本使用,自从我们开始使用 Jasper Reports 以来,我们一直在使用它。 估计是忽略了。

这适用于我的 html 和其中的链接图像,但尚未处理 base64 信息。 我目前正在通过确保图像在粘贴或拖动到文本字段时上传并自动添加为链接图像来解决此问题。

我目前正在从 TextAngular 切换到 CKEditor/ng-ckeditor 组合,因为泡沫具有用于此目的的插件,效果很好。

在我完成之前还有一些工作要做,但这是要走的路。

使用textField NOmarkup="html"将不适用于tableimgstyle="border:1px" ecc 等标签。

为什么? 因为文本字段显示文本。 格式化文本,es。 <b>String</b>会起作用。

一种方法是检查 jasper 报告 htmlcomponent <hc:html/>这将呈现您的 html 或 url 的图像

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM