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

XSL Apache FOP:在段落的其余空白区域添加内容

丘向荣
2023-03-14

我正在用Apache FOP制作一个PDF生成器,其中一个主要要求是用一系列破折号填充段落的剩余空白:

This is a paragraph on a page that will be converted to PDF
but the remaining  space must be filled.-------------------

This is another paragraph on the same page and again the re
maining space must be filled.------------------------------

棘手的部分是,我将使用非等宽(可变宽度)字体。此外,段落对齐方式将设置为证明。这两个要求是由政府设置的,不能更改(这实际上是有意义的,因为生成的PDF主要用于打印目的)。

根据我的发现,在FOP中精确计算文本宽度(考虑可变宽度、字距等)似乎是不可能的。

我目前的解决方案是入侵 xsl:

<fo:block background-image=dash.jpg>
    <fo:inline background-color=white>This is a paragraph on a page that will be converted to PDF but the remaining  space must be filled.</fo:inline>
</fo:block>

< code>dash.jpg是一个破折号字符的图像,它的尺寸是经过仔细计算的,因此当它平铺在整个段落中时,它会正确放置,并考虑了字体高度和间距等因素。<代码>

然而,这个黑客的问题在于它是一个黑客:图像高度的计算不能非常精确,因为字体大小、间距和边距是使用点而不是像素计算的,这是我做出的决定,因为生成的 PDF 主要用于打印。

我想不出其他解决方案,因为FOP本身不支持一些属性,如浮点数显示,老实说,这可以帮助我走得更远。我想知道你是否有比我现在更好的解决方案。

@NavinRawat提出的答案:

 <fo:block text-align-last="justify">... a long paragraph ...<fo:leader leader-pattern="dots" /></fo:block>

共有1个答案

孟晨朗
2023-03-14

你试过< code >吗

 类似资料:
  • 我正在寻找一个命令来扭转这一局面: 知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责<除非是出于谨慎,否则不应因疏忽而对动物造成伤害。Ipsum dolor sit amet,为精英献身<两人或两人在一起,在一起的是一个无缘的地方<除非是出于谨慎,否则不应因疏忽而对动物造成伤害。 为此: 知

  • 本文向大家介绍php给每个段落添加空格的方法,包括了php给每个段落添加空格的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php给每个段落添加空格的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 我正在尝试创建一个,它有一个来组织一些。 有时它会按预期显示,但有时,它会添加额外的空白空间,例如当键盘关闭时,会破坏布局。我有一个GIF下面显示的工作和不工作在同一时间跨度。 下面是相关的代码片段。我使用尝试将保持在我想要的大小,但它仍然会扩展。

  • 我正面临一个使用Vue呈现字符串的问题。当前,如果HTML标记在不同的行上打开和关闭,例如。 它的呈现方式如下 这导致返回包含冗余空白的字符串。例如。 我发现如果你打开和关闭HTML标签包含一个字符串在同一行,问题就没有了。例如。 问题:我是否可以强制Vue在不设置所有实际HTML格式的情况下呈现没有额外空格的文本,这意味着在不同的行上打开和关闭标签?(我并不是一个人在做这个项目)或者,我能以某种

  • 问题内容: 可以说我有这段: 在此段中加双引号的CSS代码是什么?(因此它将呈现“这是我的段落”) 问题答案: 使用 伪元素 :

  • 我理解如何(以及为什么)在JSX中添加空白,但我想知道什么是最佳实践,或者是否有任何真正的区别? 将两个元素都包裹在一个跨度中 将它们添加到一行中 用JS添加空间