当前位置: 首页 > 知识库问答 >
问题:

textField中粗体样式的文本在分页符中被截断

颜镜
2023-03-14

JasperReports引擎似乎无法计算页面中的最大字符数,如果输入文本有粗体html标记,然后在导出为PDF时删除剩余的单词。我使用的是JasperReports 6.2.0

这是源代码:

<band height="40" splitType="Stretch">
    <textField isStretchWithOverflow="true" isBlankWhenNull="true">
        <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="30" y="10" width="510" height="20" isPrintWhenDetailOverflows="true">
            <property name="local_mesure_unity" value="pixel"/>
            <property name="com.jaspersoft.studio.unit.y" value="px"/>
            <property name="local_mesure_unitx" value="pixel"/>
            <property name="com.jaspersoft.studio.unit.x" value="px"/>
            <property name="local_mesure_unitwidth" value="pixel"/>
            <property name="com.jaspersoft.studio.unit.width" value="px"/>
            <property name="local_mesure_unitheight" value="pixel"/>
            <printWhenExpression><![CDATA[$P{myInputData} != null]]></printWhenExpression>
        </reportElement>
        <textElement textAlignment="Justified" markup="html">
            <font fontName="ArialExtendedJasper"/>
        </textElement>
        <textFieldExpression><![CDATA[$P{myInputData}]]></textFieldExpression>
    </textField>
</band>

编辑:添加字体扩展属性

<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
  <fontFamily name="ArialExtendedJasper">
    <normal>fonts/ArialExtendedJasper/arial.ttf</normal>
    <bold>fonts/ArialExtendedJasper/arialbd.ttf</bold>
    <italic>fonts/ArialExtendedJasper/ariali.ttf</italic>
    <boldItalic>fonts/ArialExtendedJasper/arialbi.ttf</boldItalic>
    <pdfEncoding>Identity-H</pdfEncoding>
    <pdfEmbedded>true</pdfEmbedded>
    <exportFonts>
    </exportFonts>
  </fontFamily>
</fontFamilies>

共有1个答案

竺国兴
2023-03-14

Alex和Petter是对的,这是一个字体扩展问题,我改变了字体(源代码。ttf文件),这个问题没有再次发生。

我从网上下载了arial字体,但不知道这个字体是许可的,你发现那里是不可靠的。

现在我正在使用谷歌字体,他们是免费的,工作完美!

 类似资料:
  • 我使用< code>cairo_pdf()来生成一个字体很好的R绘图。如果我指定的字体系列具有合理命名的基本粗细,例如“Arial”包含Arial Regular、Arial Bold、Arial Italic、Arial Bold Italic,它会工作得很好。 但是有没有办法为给定样式任意设置字体?例如,在Hoefler Text中,我有Hoefler文本黑色而不是粗体。我可以cairo_pd

  • 问题内容: 我不确定这是否可能,但是我有一种情况,我想在HTML select标记的选项内将文本的 一部分 (不是全部)加粗。 我尝试使用b标签以及强标签,但没有运气(在Chrome上)。CSS可能会起作用,但是由于它在元素级别起作用,所以我不确定该怎么做。 有什么办法吗? 问题答案: 没有; 这是不可能的。 相反,您可以使用Javascript制作伪造的下拉列表。

  • 问题内容: 我在选择时遇到样式问题。我需要一些选项以粗体显示,但Internet Explorer不想呈现它。 我使用CSS进行设置: : 在Firefox中显示粗体字体,但在Internet Explorer中不显示。 我已经在Internet Explorer 7和8中尝试过。 有人有其他选择吗? 编辑:一个示例: HTML: CSS: 问题答案: IE不允许独立设计元素的样式。这是因为IE使

  • 为什么下面的代码不起作用?它适用于Toast,但不适用于TextView。当我运行程序时,boldName不会显示为粗体,但当我将其设置为祝酒词时,它确实显示为粗体。有人有其他解决办法吗?

  • 问题内容: 这是文本: 我想用粗体显示“服务条款”和“请注意:下文所述的HIGO服务条款自以上’最后更新’日期起对正在浏览HIGO网站的任何用户或创建了HIGO网站的任何用户生效。 HIGO帐户在该日期或之后。” 我尝试在uitextview中以编程方式使用uilabel,但无法正常工作: 也尝试使用这些,但不起作用,它仅显示“服务条款”和“最新更新..”,没有显示“请注意…”。 如何加粗字符串的

  • 在编辑文本中,用户应选择他们键入的内容是粗体、斜体还是正常。在我的情况下,当用户选择粗体时,整个编辑文本将更改为粗体,如果他再次选择斜体,则整个编辑文本将变为斜体。当用户选择粗体键入某些内容时,它应该是粗体的,当他选择斜体或正常时,他键入的单词应该是斜体或正常,而不是前一个粗体。此外,当我在编辑文本中打印输入时,即使以粗体显示,它也被正常打印。 我在底部有我的代码。 这是我将编辑文本设置为粗体或斜