我使用docx4j来读取和解析.docx文件,但是当我遍历段落时,它会在一次传递中读取而不是所有段落.下面是我正在使用的代码示例.
private void replaceAcrAndDef(String acrName, String acrParensName, String oldDef, String newDef){
String XPATH_TO_SELECT_TEXT_NODES = "//w:t";
List<Object> paragraphs = template.getMainDocumentPart().getJAXBNodesViaXPath(XPATH_TO_SELECT_TEXT_NODES, true);
for (Object obj : paragraphs){
Text text = (Text) ((JAXBElement)obj).getValue();
String textValue = text.getValue();
System.out.println(textValue);
}
Run Code Online (Sandbox Code Playgroud)
在上面的for循环的一次传递期间,这将作为第一段读取 -
"团队通过为任务,测试和管理以及一般服务网络和系统提供直接的MDA经验,对这些要求有深刻的理解.通过对任务,流程和优先级的既定理解,培养低风险,反应灵敏的团队的好处.使用基于综合的"
但它缺少该段的最后部分.这将在连续的传球中出现.我在这做错了什么.
该段的全部内容如下:
团队通过为任务,测试和管理以及一般服务网络和系统提供直接的MDA经验,对需求有深刻的理解.低风险,反应迅速的团队的好处是对任务,流程和优先事项有着深刻的理解.我们使用基于角色的综合信息技术(RBA)方法与合作承包商,现有流程和补充流程的增加协同工作.
我不知道是否有办法获得整个段落,但是如果有的话会很好,因为我需要逐段更换字符串.
我一直在尝试将doc/docx文件转换为html,我发现最好的选择是docx4j.任何人都可以帮我直接命令行来完成这项工作.
我试过了:
java -cp docx4j.jar:log4j-1.2.15.jar org.docx4j.samples.CreateHtml [input.docx]
Run Code Online (Sandbox Code Playgroud)
作为回应,我希望HTML输出(无论是控制台还是文件).
我试图在java中读取一个文件,以下是代码:
public void readFile(String fileName){
try {
BufferedReader reader= new BufferedReader(new FileReader(fileName));
String line=null;
while((line=reader.readLine()) != null ){
System.out.println(line);
}
}catch (Exception ex){}
}
Run Code Online (Sandbox Code Playgroud)
它在txt文件的情况下工作正常.但是在docx文件的情况下,它是打印奇怪的字符.我怎样才能在Java中读取.docx文件.
如何使用 POI API 或 Docx4j 将“.dotx”Word 模板转换为纯“.docx”?