我正在创建一个Web应用程序,它将接受来自用户的一些输入(如姓名,年龄,地址等),并生成一些带有填充信息的预定义表单,供用户下载和打印。
例如,驾驶执照的申请表或其他类似的内容。后端将包含有关要生成的文档的格式信息,其他信息将从前端用户收集。
我将使用 Play Framework 2.5 和 Java / Scala 作为编程语言。但是现在我不知道是否有任何可用于实现此文档生成的免费库/ API。
我应该可以操纵字体大小,样式,缩进,段落,页面边框,页码,对齐方式,文档页眉和页脚,页面大小(A4,法律等)其他一些基本东西。我需要格式化的文档,这些文档广泛支持编辑和打印。例如 PDF,DOCX 。 DOCX是首选,因此用户可以在下载文档之后编辑内容,然后再打印出来。
答案 0 :(得分:1)
我使用apache POI库来解析和创建ms word文档(包括docx)文件:
http://www.tutorialspoint.com/apache_poi_word/apache_poi_word_quick_guide.htm
这并不奇怪,但它是我发现的最好的:)。
答案 1 :(得分:1)
我使用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"));
}