使用Java / Scala创建文档的格式化PNG“页面”

我在一个
scala.xml
树中有一个文件(很容易转换成其他任何东西),我想把它变成一系列PNG文件。 例如,文档可能如下所示:
<doc
  title="My Document"
  author="John Doe"
  created="1 July 1977"
  published="19 July 1799"
>
  <section heading="An Analysis of Multiparticles"> <!-- Section 1 -->
    <p>Paragraph one goes here</p> <!-- INTRODUCTION! -->
    <p>Paragraph two goes here</p>
  </section>
  <section heading="Conclusion of Multiparticles"> <!-- Section 2 -->
    <p>Paragraph one goes here</p> <!-- INTRODUCTION! -->
    <p>Paragraph two goes here</p>
  </section>

</doc>
然后,我想将该文档转换为一个类似于此的PNG,减去构成单词下的红线(我提供格式化规则,使用的字体等等): 并且,如果可能的话,更长的文档应该能够被“分页”到任意数量的PNG文件中,这些文件在达到500px的高度之后会流入下一个文件。 如果有一个现有的Java库/包执行此操作,可以执行此操作的任何部分(或者设法完成所有操作的几个部分) - 非常好!否则,我想知道在Scala(最好)或Java中写一些东西要做什么。 谢谢!     
已邀请:
您想使用iText库。这使您可以操作文档,生成PDF以及您想要使用的任何其他内容,非常高级,非常强大,非常Java。获得PDF后,您可以将其内容导出为您想要的任何格式,互联网上有许多PDF - > PNG选项。 从头版:   开发人员可以使用iText:
* Serve PDF to a browser
* Generate dynamic documents from XML files or databases
* Use PDF's many interactive features
* Add bookmarks, page numbers, watermarks, etc.
* Split, concatenate, and manipulate PDF pages
* Automate filling out of PDF forms
* Add digital signatures to a PDF file
    
我建议改为PDF导出。其他人提到了iText:我已经开始将iText用于客户端(从Scala调用)。它似乎很好地介于PDFBox的低级乏味和更高级别的Jasper Reports之间。     
我建议通过LaTeX,例如,http://htmltolatex.sourceforge.net/。在那里,您可以设置合适的页面大小,转换为PDF,将PDF分解为单独的页面,并将页面转换为您想要的大小的PNG。 或者你真的需要整个东西成为一个在JVM下运行的程序吗?     

要回复问题请先登录注册