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

如何使用XSL-FO和FOP 1.0创建两列布局?

胥诚
2023-03-14

我有一个软件,可以从文本文件创建XSL-FO描述,并将其转换为PDF文档。文本文件中的每一行都被转换为fo中的fo:block,这听起来是错误的,但我现在无法更改。我的文件包含1到3页A4纸。

我现在需要做的是在现有文本下方添加一个宽度约为8厘米的图形。它应该是左对齐的。在它旁边,我想放置一个带有(长)描述的文本块。

我查看了FO的几个文档并提出了这个:

<fo:block intrusion-displace="block" margin-top="20mm">
 <fo:float float="right">
   <fo:block margin-left="20mm">
    Bacon ipsum dolor sit amet laborum proident...
   </fo:block>
 </fo:float> 
  <fo:external-graphic src="image.png"/> 
</fo:block>

这似乎是我想要的(当然经过一些微调),但不幸的是,FOP还不支持<code>fo:float</code>。

似乎还有一种方法可以创建多个列(没有表),但我无法弄清楚它是如何工作的。似乎需要一个新页面,但如果有可用空间,我需要使用当前页面(我猜我不必关心)。

所以我的问题是:有没有另一种不使用<code>fo:float</code>的方法来构建它?

共有1个答案

姚自强
2023-03-14

您可以尝试将图像用作背景图像,并留下与图像一样宽的左填充。

<fo:block intrusion-displace="block" margin-top="20mm">
   <fo:block padding-left="20mm" 
       background-image="image.png" 
       background-repeat="no-repeat">
    Bacon ipsum dolor sit amet laborum proident...
   </fo:block>
</fo:block>

如果图像需要进一步处理,只能通过< code >进行

<fo:block intrusion-displace="block" margin-top="20mm">
   <fo:block padding-left="20mm">
    Bacon ipsum dolor sit amet laborum proident...
   </fo:block>
   <fo:block-container absolute-position="absolute">
       <fo:block>
          <fo:external-graphic src="image.png"/>
       </fo:block>
   </fo:block-container>
</fo:block>

第三种选择是使用表格。

 类似资料:
  • 问题内容: 有很多旧文本,例如2002年这本书,指出我们必须使用“ CSS for Web”和“ XSL-FO for print”。我认为,在当今(2012年),我们最终可以将CSS与渲染引擎一起使用,这些引擎能够理解CSS2和CSS3的分页媒体 ……但是,“新文本”,程序员的共识以及软硬件的投资又在哪里? XSL-FO或“ XSL格式设置对象”(W3C标准)是从XML或XHTML内容生成PDF

  • 我的xml 我的xls 在输出中,我得到4份,但我只想要一份。有什么问题吗? Lorem ipsum Dolor sat amet,consecetur adipith elit,se do eiusmod温度附带ut Workore et Dolore magna aliqua。 Ut enim ad minim veniam, quis nostr的练习ullamco的劳动是nisi ut a

  • 我想在我的标签上使用属性 这是我的xml的一个例子:

  • 问题内容: 我想这样布局我的JPane: 这样,顶部比底部更大/更小(顶部由另一个JPanel组成,并使用Graphics对象显示图像,而底部也由另一个JPanel组成,但使用Graphics对象绘制一些线和文字)。 我听说最好的方法是使用GridBagLayout和GridBagConstraints。 我试图找出GridBagConstraints的适当属性,但遇到了一些困难。这是我到目前为止

  • 我是否正确,当使用XSL-FO(Apache FOP)生成pdf时,无法使用Windows 7 c:\windows\fonts*中的字体? 我刚刚安装了OTF格式的“helvetica neue”字体。 根据https://xmlgraphics.apache.org/fop/trunk/fonts.html “对系统字体的支持依赖于JavaAWT子系统的字体度量信息。通过操作系统注册,AWT子

  • 问题内容: 在redis文档中,我发现可以通过SETNX实现基本锁: http://redis.io/commands/setnx C4发送SETNX lock.foo以获取锁 崩溃的客户端C3仍然保留它,因此Redis将以0答复C4。 C4发送GET lock.foo以检查锁是否过期。如果不是,它将hibernate一段时间并从头开始重试。 相反,如果由于lock.foo上的Unix时间早于当前