【发布时间】:2014-10-27 23:47:01
【问题描述】:
我正在尝试遍历 word 文档并保存在 word 文档中找到的所有图像。我尝试将示例 word 文档上传到 online demo 并注意到图像被列为:
/word/media/image1.png rId5 image/png
/word/media/image2.png rId5 image/png
/word/media/image3.jpg rId5 image/jpeg
如何在遍历文档时以编程方式保存这些图像?
目前我从文档中获取所有文本,如下所示:
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(filePath))
MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart()
Document wmlDocumentEl = (org.docx4j.wml.Document)documentPart.getJaxbElement()
Body body = wmlDocumentEl.getBody();
DocumentTraverser traverser = new DocumentTraverser();
class DocumentTraverser extends TraversalUtil.CallbackImpl {
@Override
public List<Object> apply(Object o) {
if (o instanceof org.docx4j.wml.Text) {
....
}
return null;
}
}
【问题讨论】:
-
您关心图像的上下文(即顺序、周围的文字),还是只想将它们转储到某个地方?
-
虽然这将是稍后获得的好信息......现在只需倾倒它们就足够了。
-
看看这个链接 (cnedelcu.blogspot.in/2013/02/…) 可能对你有用
-
我希望以编程方式执行此操作。您建议的链接提到了手动执行此操作的方法。我相信有一种方法可以像@JasonPlutext 暗示的那样以编程方式做到这一点。
-
检查 apache POI 是否有能力做到这一点。