【问题标题】:How to create a PDF/DOCX files in Java/Scala?如何在 Java/Scala 中创建 PDF/DOCX 文件?
【发布时间】:2016-07-08 14:01:36
【问题描述】:

我正在创建一个网络应用程序,它将接受用户的一些输入(如姓名、年龄、地址等)并生成一些预定义的表单,其中包含填充信息供用户下载和打印。

例如,驾驶执照申请表或类似的东西。后端将具有有关要生成的文档的格式信息,其他信息将从前端的用户那里收集。

我将为此使用 Play Framework 2.5 并使用 Java/Scala 作为编程语言。但现在我不知道是否有任何免费的库/API 可以用来生成此文档。

我应该能够操作 字体大小、样式、缩进、段落、页面边框、页码、对齐方式、文档页眉和页脚、页面大小(A4、Legal 等) 其他一些基本的东西。而且我需要格式广泛支持编辑和打印目的的文档。比如PDF、DOCX。 DOCX 是首选,因此用户可以在下载文档后进行编辑,然后再进行打印。

【问题讨论】:

  • 请访问 softwarereqs.stackexchange.com 获取“please-tell-me-which-library-i-can-use”类型的问题;这边;他们是题外话。
  • 好的。我在这里的第一个问题,所以没有意识到这一点。

标签: java scala pdf document docx


【解决方案1】:

我已经使用apache POI库来解析和创建ms word文档(包括docx)文件:

http://www.tutorialspoint.com/apache_poi_word/apache_poi_word_quick_guide.htm

这并不令人惊奇,但它是我发现的最好的:)

【讨论】:

  • 我想我会选择这个。看起来非常简单和直接使用。谢谢你。 :)
【解决方案2】:

我使用了docx4j.jar,它只是将 xhtml 转换为 docx。

您可以根据需要将格式信息保存为 xhtml 模板,并在运行时将表单输入(如姓名、年龄、地址等)放入模板中。

这是来自link的示例代码

 public static void main(String[] args) throws Exception 
 {
        String xhtml= 
                "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%;\"><tbody><tr><td>test</td><td>test</td></tr><tr><td>test</td><td>test</td></tr><tr><td>test</td><td>test</td></tr></tbody></table>";       

        // To docx, with content controls
        WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();

        XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage);

        wordMLPackage.getMainDocumentPart().getContent().addAll( 
                XHTMLImporter.convert( xhtml, null) );

        wordMLPackage.save(new java.io.File("D://sample.docx"));
}

【讨论】:

  • 对我来说,Apache POI 看起来比 docx4j 更容易,但还是要感谢。 :)
猜你喜欢
  • 2011-12-02
  • 2017-04-14
  • 1970-01-01
  • 2017-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多