1

我在树中有一个文档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 中编写一些东西来做到这一点。

谢谢!

4

3 回答 3

1

我建议改为导出 PDF。其他人提到了 iText:我已经开始将 iText 用于客户端(从 Scala 调用)。它似乎很好地介于 PDFBox 的低级乏味和更高级别的 Jasper Reports 之间。

于 2011-02-23T06:12:19.857 回答
0

我建议通过 LaTeX,例如http://htmltolatex.sourceforge.net/。在那里,您可以设置合适的页面大小,转换为 PDF,将 PDF 分解为单独的页面,然后将页面转换为所需大小的 PNG。

或者你真的需要整个东西成为一个在 JVM 下运行的程序吗?

于 2011-02-23T02:28:25.077 回答
0

您想使用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
于 2011-02-23T04:42:27.153 回答