XSL:FO转换为PDF只创建一个页面

时间:2017-05-12 12:41:14

标签: xml pdf xslt xsl-fo

所以我之前一直在开发ASP.net应用程序/网站,允许用户填写包含有关它们的一些详细信息的表单并将其发送给相应的公司。我最近的任务是从这个表单创建一个XML文档(我已经得到),并尝试从中制作可打印的PDF。我选择使用XSL和XSL:FO来转换我认为合适的文档,但是偶然发现了一个相当烦人的问题。

每当我使用Altova XMLSpy通过XSL:FO创建PDF时,它似乎没有意识到它会触及PDF页面的底部,因此不会在PDF中创建多个页面,从而制作了大量内容内容隐藏。由于XSL文件的长度,我把它放在gist.github here上,如果有人对我如何能够允许它创建新页面的任何建议,只要它到达底部,我们将不胜感激!

1 个答案:

答案 0 :(得分:2)

  1. 您的XSL-FO在页面标题中包含所有内容。根据定义,从fo:flow生成的每个页面上的内容都是相同的。
  2. 您的fo:flow是空的,因此您只会获得一个页面(似乎是fo:region-before中的一堆内容。)
  3. 如果您将当前在fo:static-content中的内容放入fo:flow,那么格式化程序应该可以将流量分解为多个页面一页。