html - 如何设置 Jasperreports TextField 中显示的 html 段落的左边距
问题描述
我正在使用 Jaspersoft Studio 6.2.1 制作子报表。子报表只包含一个TextField
定义如下:
<band height="105">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="505" height="47" uuid="03b4eae9-6dd0-4fdb-b2c5-5d8a5ba3b71d"/>
<textElement textAlignment="Justified" markup="html">
<font fontName="Verdana" size="10"/>
<paragraph lineSpacing="1_1_2" leftIndent="0" spacingAfter="250"/>
</textElement>
<textFieldExpression><![CDATA["Some text"]]></textFieldExpression>
</textField>
</band>
它可以正常工作,使用我放置的任何内容制作 PDF 视图。虽然它可以渲染像 <b>、<ul> 或 <u> 这样的 html 标签,但它不会像我为它设置样式时那样渲染 html paragrahp (<p>) 标签。下面,有两张图片显示了我想要实现的目标和最终结果。
可以看出,两个段落都没有任何边距显示。我知道我可以为 textField 元素内的所有段落设置样式,但是有没有办法根据其样式属性实现任何段落都有自己的样式?
解决方案
您所遇到的情况与 JasperReports 在内部仅使用 ajavax.swing.JEditorPane
来处理 HTML 文本有关,不幸的是,即使在较新的 Java 版本中也仅支持 HTML 3.2。
因此,在编写 HTML 标记时不应依赖内联样式。
推荐阅读
- coldfusion - 使列表列搜索动态化
- javascript - 错误:加载 PostCSS 插件失败:无效或意外的令牌(Vue.js、tailwind css)
- javascript - 选中第 3 方网站 Chrome 扩展上的复选框
- python - Keras Sklearn Tuner 模块“sklearn”没有属性“管道”
- google-apps-script - 从 base64 图像 URL 为 Google Apps Script MailApp 创建一个 inlineImage blob?
- azure - 邀请人员期间出现错误 401 MS Azure Dev/Ops
- javascript - 当语言环境为 en_US 时,从 A 列获取具有相同 M 和 Y 日期的行块与 createTextFinder()
- sql - SQL LIKE %% 显示另一行
- reactjs - 组件卸载时清理 useEffect
- javascript - 如何在 Javascript 中删除行和更新总计