问题标签 [docx4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
30837 浏览

java - 用于处理 docx 文档的 Apache POI 或 docx4j

您认为哪个更好地用于将 docx 文档作为 java 对象读取,为什么?

换句话说。哪个库支持大多数单词标签?

0 投票
1 回答
448 浏览

java - DOCX4J:空指针异常

我使用 WordprocessingMLPackage.createPackage() 方法创建了一个新的文档文件。现在我正在尝试操作默认样式的内容(“标题 1”、“正常”等)。当我尝试打印样式属性的值时,它返回 NullPointerException。我很确定样式在那里,因为名称可以打印出来。但是当我尝试访问它的段落属性时,它是空的。

所以现在我想知道我是否没有正确访问内容。

0 投票
1 回答
545 浏览

java - DOCX4J:在 JEditorPane 中查看 HTML 导出的文档文件

我试图查看 DOCX4J 生成的 xHTML 文件。我能够成功生成上述文件,所有文本格式都正确显示在浏览器中。但是,我试图在 JEditorPane 上查看它,它只显示 HTML 文件中的文本,而不显示它的格式,就好像整个页面使用默认文本字体一样。这是我的 JInternalFrame 代码

我尝试将 URL 更改为有效的网址,并且页面可以正确查看。我尝试在 JFrame 中执行相同的过程,并出现了相同的结果。我想知道我是否在程序中做错了什么,或者问题在于 DOCX4J 库生成的 HTML 文件。

我已经包含了 HTML 文件和 DOCX 文件以防万一需要 HTML http://www.mediafire.com/?z3t8ksv3c2air27

DOCX http://www.mediafire.com/view/?p5yr4v6isai3452

0 投票
1 回答
883 浏览

java - Docx4j Permgen Space 具有 2G 和转换为 PDF 时的小文档

我们有一个 5kb 的 .docx 文件被读入 Docx4j-2.8.1,然后转换为 PDF。在单元测试中这是可行的,但是一旦部署到 Tomcat 7(实际上是 TomEE-1.6.0-SNAPSHOT)中,我们在执行 PDF 转换时会出现 Permgen 空间错误。

示例代码:

inputStream 是从 .docx 文件的 byte[] 创建的。docx 文件本身是一个单页,只有 Times New Roman 中的文本和几个要点(仅供示例使用)。

堆栈跟踪如下(我已将堆大小添加到顶部的日志中):

https://gist.github.com/jmkgreen/5046890

这台机器有 6GB 的 RAM,Tomcat 有以下设置:

我不希望看到这个错误。一些建议将不胜感激。

编辑:在调用 PDF 转换器之前,我从 MemoryPoolMXBean 中为 Perm Gen 添加了 getUsage().getMax():82MB。

我还将 JAVA_OPTS 的 tomcat catalina.bat 文件条目减少到:

编辑 2:从 docx4j 切换到 XDocReport 解决了崩溃问题。可惜既没有提供特别准确的渲染......

0 投票
1 回答
6784 浏览

java - 如何使用 docx4j 从模板创建一个新单词

我有以下情况,需要一些建议:

用户将输入一个word文档作为模板,并在运行时提供一些参数,这样我就可以查询我的数据库并获取数据来填充文档。所以,我需要做两件基本的事情:

  1. 用当前查询行的相应结果替换文档中的每个键。
  2. “合并”(复制?复制?)现有文档未更改到自身(附加),具体取决于我从查询中获得的行数,并将此新副本中的键替换为下一行值。

这样做的最佳方法是什么?我现在已经设法通过使用 unmarshallfromtemplate 为其提供哈希图来完成替换部分。但是这种方式有点棘手,因为我需要在文档中添加“${variable_name}”,有时单词将不同标签中的“${”和“}”分开,导致问题。

我已经阅读了有关自定义 xml 绑定的信息,但并没有完全理解它。我需要生成一个自定义 XML,将其注入文档(所有这些非运行时)并调用 applybindings?? 如果这是真的,我将如何将文档中的字段绑定到 xml ?按名字?

0 投票
1 回答
1041 浏览

java - DOCX4J - 在两个标记之间复制

感谢这个很棒的指南,我用 DOCX4J 做了一个简单的替换。

但现在我正在尝试做一些更复杂的事情。

我想做的是在文档中找到我的标记文本#1,在文档中找到我的标记文本#2,然后复制两者之间的所有内容。然后我将粘贴该内容 X 次并进行进一步的更改。

有谁知道我将如何做到这一点,并可能指出我需要的关键功能?

0 投票
1 回答
501 浏览

java - Docx4J 中用于将 Docx 转换为 HTML 的自定义解决方案

我有将多个DOCX文件转换为HTML格式的要求,如果可能的话RTF
Docx4j,它似乎是一个很好的 java 库。
使用 HtmlExporterNG2.html 方法并不一定会为我提供所需的结果。所以我正在考虑修改从 docx 文件中提取的样式表,然后将其用于此转换,因为所有这些 docx 文件都有不同的格式,因此不能使用标准样式表。
我认为对样式表进行运行时修补会起作用吗?我应该注意哪些重要事项?
我将它用作具有 Java 版本 6 的独立 Java 应用程序。
我的查询可能有点模糊,但我正在寻找正确的方向。

0 投票
0 回答
66 浏览

docx4j - 如何在 docX 中插入椭圆(圆)?

我试图在没有成功的情况下在 docx 中插入一个椭圆。可以使用 docx4j 在 docx 中添加椭圆吗?我还尝试使用 org.docx4j.XmlUtils.unmarshalString 插入 XML“.....”,但我收到了一些错误。

有人试过吗?

0 投票
1 回答
1691 浏览

jaxb - 如何将 JBoss AS 7.1 使用的 JAXB 更改为 JDK 6 的 JAXB

我在 Jboss AS 7.1 上部署了一个 Spring Web 应用程序并使用 JDK 1.6。也使用 docx4j 来处理 ms office word 文件。

Jboss 强制其自己的 jaxb 实现。然而 docx4j 需要 JDK 1.6 的 jaxb 实现。

我如何使用 jdk 的 jaxb 而不是 jboss 的 jaxb?

0 投票
4 回答
12296 浏览

java - 如何以编程方式在java中将doc,docx文件转换为pdf

我可以使用 docx4j 从 docx 文件生成 pdf。但我需要将 doc 文件转换为 pdf,包括图像和表格。 有没有办法在 java 中将 doc 转换为 docx。或(doc到pdf)?