`
53873039oycg
  • 浏览: 837083 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]docx4j提取word 2007图片

 
阅读更多

      见代码:

     

import java.io.File;
import java.io.FileOutputStream;
import java.util.Map.Entry;

import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.Part;
import org.docx4j.openpackaging.parts.PartName;
import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPart;
import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage;

public class Docx4j_SaveDocxImg_S3_Test {
	public static void main(String[] args) throws Exception {
		Docx4j_SaveDocxImg_S3_Test t = new Docx4j_SaveDocxImg_S3_Test();
		t.saveDocxImg("f:/saveFile/temp/word_docx4j_img_125.docx",
				"f:/saveFile/temp/docx4j_");
	}

	/**
	 * @Description: 提取word图片
	 */
	public void saveDocxImg(String filePath, String savePath) throws Exception {
		WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage
				.load(new File(filePath));
		for (Entry<PartName, Part> entry : wordMLPackage.getParts().getParts()
				.entrySet()) {
			if (entry.getValue() instanceof BinaryPartAbstractImage) {
				BinaryPartAbstractImage binImg = (BinaryPartAbstractImage) entry
						.getValue();
				// 图片minetype
				String imgContentType = binImg.getContentType();
				PartName pt = binImg.getPartName();
				String fileName = null;
				if (pt.getName().indexOf("word/media/") != -1) {
					fileName = pt.getName().substring(
							pt.getName().indexOf("word/media/")
									+ "word/media/".length());
				}
				System.out.println(String.format("mimetype=%s,filePath=%s",
						imgContentType, pt.getName()));
				FileOutputStream fos = new FileOutputStream(savePath + fileName);
				((BinaryPart) entry.getValue()).writeDataToOutputStream(fos);
				fos.close();
			}
		}
	}
}

 

    全文完。

分享到:
评论
1 楼 cd_huangbo 2015-09-10  
博主,你好:请问docx4j设置word背景图片,然后再将word页生成图片,背景图片不能显示有没有解决方法?

相关推荐

    使用docx4j 技术操作word的读写

    使用docx4J技术操作word的读写,使用docx4J技术操作word的读写,

    docx4j word合并转pdf.zip

    本文将深入探讨如何使用Java库docx4j来实现多个Word文档的合并,并将结果转换为PDF格式。 docx4j是一款强大的开源Java库,专门用于处理Microsoft Office Open XML(OOXML)格式的文件,如.docx和.xlsx。它提供了一...

    docx4j及其依赖包

    3. **读取文档**: `docx4j`可以读取`.docx`文件,提取其中的文本、图片、表格等信息,这对于数据分析或文档预览场景很有帮助。 4. **文档转换**: 支持将`.docx`文档转换成其他格式,如PDF、HTML、纯文本等,也可以...

    docx4j(jar,src,依赖JAR)

    2. **读取与解析**:通过docx4j,可以读取现有的.docx文件,并对其进行解析,提取文档中的内容,便于进行数据分析或内容提取。 3. **转换能力**:docx4j支持多种文件格式之间的转换,如将.docx转换为PDF、HTML或...

    docx4j-2.6.0.tar.gz

    《docx4j-2.6.0:深入解析Word文档处理库》 docx4j-2.6.0.tar.gz是一个TAR+GZIP压缩文件,它包含了一个名为docx4j-2.6.0的完整版本。这个压缩包的大小约为13,828,193字节,这在软件分发中是常见的大小,因为它包含...

    Docx4j中文版开发手册

    【Docx4j中文版开发手册】是一份详细介绍如何使用Docx4j库来处理docx、pptx和xlsx文件的开发指南。Docx4j是一个Java库,它允许开发者在Java环境中创建、读取、修改这些OpenXML格式的文档。这个中文版手册对于那些...

    docx4.jar及其依赖jar包

    标题中的"docx4.jar"实际上指的是`docx4j`库的核心组件,它允许开发者通过编程方式处理`.docx`、`.xlsx`和`.pptx`等文件。 `docx4j`的核心功能包括: 1. **文档创建**:可以创建全新的Office文档,设置样式、字体...

    提取word表格数据

    总的来说,这个工具提供了一种方法来提取Word文档中的表格数据,尽管它可能不是最全面或最高效的解决方案,但作为一个娱乐项目,它展示了如何利用Java和XML解析技术来处理Office文档的底层结构。在实际应用中,可能...

    提取word表格数据到Excel的vba程序代码

    标题中的“提取word表格数据到Excel的vba程序代码”是指使用VBA(Visual Basic for Applications)编程语言,编写一个宏来实现从Microsoft Word文档中的表格自动抽取数据并存储到Excel工作表中。这个过程可以大大...

    word提取文字所需jar

    除了Apache POI,还有一些其他库也可以实现Word文档的文字提取,比如JODConverter(基于OpenOffice或LibreOffice的转换工具)和docx4j。它们各有优缺点,选择哪种取决于项目的需求,例如性能、兼容性、是否需要处理...

    Delphi提取docx,doc,xls,xlsx,ppt,ppts,pdf,eml,html,等文件内容文本

    B: office word文件 ".doc", ".odt", ".docx", ".dotm", ".docm" C: wps文档 ".wps" D: office excel文件 ".xls", ".xlsx", ".xlsm", ".xltm" E: wps表格 ".et" F: office powerPoint文件 ".ppt", ".pptx", ".potm",...

    PHPWord纯PHP库读写MicrosoftWord文档

    $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); $objWriter-&gt;save('output.docx'); ``` 7. **模板处理** PHPWord还支持基于模板的文档生成,可以预先设定好文档结构,然后...

    全网都找不到的Plutext-Enterprise-3.3.0.6.zip

    在Plutext Enterprise中,docx4j可能被用来执行高级的文档操作,比如内容的提取、替换、合并,或者格式的转换。 Plutext Enterprise的标签还提到了“word excel marge”,这暗示了该软件的核心功能之一是文档的合并...

    AsposeWord导出word表格wordtable

    Aspose.Word是一款强大的.NET库,它允许开发者在不使用Microsoft Word的情况下操作Word文档。这个库提供了丰富的API,可以实现创建、读取、编辑以及转换Word文档。在这个特定的场景中,我们关注的是如何使用Aspose....

    word2007-xml存储标签属性说明文件.rar

    在Word2007中,Microsoft引入了一种新的文件格式,称为Open XML(.docx),这是一种基于XML的文档存储标准。"word2007-xml存储标签属性说明文件.rar"是一个压缩包,其中包含的文档("word2007-xml存储标签属性说明...

    Android解析并显示doc,docx,xls,xlsx文件

    - 使用Apache POI或docx4j,可以读取docx文件中的文本、段落、图像等元素。这些库提供了API来遍历文档的结构,提取所需内容。 - 对于doc文件,由于其非XML结构,处理起来较为复杂。Apache POI的HWPF库可以帮助解析...

    使用 poi 操作 doc 与 docx 相关读写的jar包

    - DOCX:从Word 2007开始,Microsoft引入了基于XML的DOCX格式,它将文档内容分解成多个XML文件,存储在一个ZIP容器中,结构更清晰,易于解析。 3. **使用Apache POI 操作 DOC 和 DOCX** - **读取操作**:你可以...

    JAVA实现Linux中word转换pdf

    在Java编程环境中,我们可以利用各种库来实现在Linux系统中将Word文档转换为PDF。这个过程通常涉及到对文件格式的理解,以及对操作系统调用的掌握。以下是一个详细的知识点介绍: 1. **Java与Linux交互**: Java...

    Qt,docx文件读写

    此外,还有一些开源项目,如`docx4j`或`python-docx`,提供了更高级别的API来处理.docx文件,不过它们通常不是用C++编写的,因此与Qt集成可能需要额外的工作。 为了在Qt中读取.docx文件,你需要执行以下步骤: 1. ...

Global site tag (gtag.js) - Google Analytics