精华内容
下载资源
问答
  • word文档是doc还是docx
    2021-07-17 00:31:38

    The title may be a little confusing. The simplest method must be judging by extension name just like:

    // is represents the InputStream

    if (filePath.endsWith("doc")) {

    WordExtractor ex = new WordExtractor(is);

    text = ex.getText();

    ex.close();

    } else if(filePath.endsWith("docx")) {

    XWPFDocument doc = new XWPFDocument(is);

    XWPFWordExtractor extractor = new XWPFWordExtractor(doc);

    text = extractor.getText();

    extractor.close();

    }

    This works in most cases. But I have found that for certain file whose extension is doc (a docx file essentially) if you open using winrar, you will find xml files. As it is known that a docx file is a zip file consists of xml files.

    I believe this problem must not be rare. But I have not found any information about this. Obviously, judging by extension name to read a doc or docx is not appropriate.

    In my case, I have to read a lot of files. And I will even read the doc or docx inside a compressed file, zip, 7z or even rar. Hence, I have to read content by inputStream instead of a File or something else. So how to know whether a file is .docx or .doc format from Apache POI is totally not suitable for my case with ZipInputStream.

    What is the best way to judge a file is a doc or docx? I want a solution to read the content from a file which may be doc or docx. But not only just simply judge if it is a doc or docx. Apparently, ZipInpuStream is not a good method for my case. And I believe it is not a appropriate method for others either. Why do I have to judge if the file is doc or docx by an exception?

    解决方案

    Using the current stable apache poi version 3.17 you may use FileMagic. But internally this will of course also have a look into the files.

    Example:

    import java.io.InputStream;

    import java.io.FileInputStream;

    import java.io.BufferedInputStream;

    import org.apache.poi.poifs.filesystem.FileMagic;

    import org.apache.poi.hwpf.extractor.WordExtractor;

    import org.apache.poi.xwpf.extractor.XWPFWordExtractor;

    import org.apache.poi.xwpf.usermodel.XWPFDocument;

    public class ReadWord {

    static String read(InputStream is) throws Exception {

    System.out.println(FileMagic.valueOf(is));

    String text = "";

    if (FileMagic.valueOf(is) == FileMagic.OLE2) {

    WordExtractor ex = new WordExtractor(is);

    text = ex.getText();

    ex.close();

    } else if(FileMagic.valueOf(is) == FileMagic.OOXML) {

    XWPFDocument doc = new XWPFDocument(is);

    XWPFWordExtractor extractor = new XWPFWordExtractor(doc);

    text = extractor.getText();

    extractor.close();

    }

    return text;

    }

    public static void main(String[] args) throws Exception {

    InputStream is = new BufferedInputStream(new FileInputStream("ExampleOLE.doc")); //really a binary OLE2 Word file

    System.out.println(read(is));

    is.close();

    is = new BufferedInputStream(new FileInputStream("ExampleOOXML.doc")); //a OOXML Word file named *.doc

    System.out.println(read(is));

    is.close();

    is = new BufferedInputStream(new FileInputStream("ExampleOOXML.docx")); //really a OOXML Word file

    System.out.println(read(is));

    is.close();

    }

    }

    更多相关内容
  • 本文实例讲述了C#编程读取文档DocDocx及Pdf内容的方法。分享给大家供大家参考。具体分析如下: Doc文档:Microsoft Word 14.0 Object Library (GAC对象,调用前需要安装word。安装的word版本不同,COM的版本号也会...
  • 这是一个使用c#做的winform界面,它的用处是,批量生成按规定列的word文档,比如,王一.docx,王一.docx,王零.docx,王二.docx,王三.docx,省得用手再一个一个的建文档了。代码在这...
  • Java docdocx源码

    2019-08-23 15:38:50
    Java程序实现word文档docdocx互转,maven项目架构,idea直接运行
  • android 读word文档 doc docx xls xlsx

    热门讨论 2015-08-21 13:21:03
    安卓解析word文档 webView显示 花了三天写出来的 翻遍了网上所有的资料 可解析 doc docx xls xlsx格式 完整代码 里面带poi的包 所以有点大
  • Word文档的情况则会复杂一些。 提取PDF文本内容 XPDF是一个免费开源的软件,用于显示PDF文件,并可将pdf转换成文字图片等,同样支持Windows版。在Debian Linux上安装非常简单: apt-get install xpdf 我们这里只...
  • 将.DOC后缀的文档转换成.DOCX后缀的文档,便于后续进行合并分页或者其它作用
  • 用java从docdocx格式的word文档中提取图片
  • 安卓支持DOCDOCX、PDF类型Word文档阅读DEMO [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
  • docdocx格式的word文档的图片标签结构是不一样的,不要试图去找它们的共同点,那是浪费时间,我们需要用完全不同的方式去处理这两代的图片标签。

    系列文章目录

    第一章:springboot下生成复杂word文档方案 在Word软件里面制作模板
    第二章:根据模板导出word,复合格式表格生成、可变列表格生成
    第三章:doc和docx插入多图
    第四章:web环境下word文档预览



    前言

    doc和docx格式的word文档的图片标签结构是不一样的,不要试图去找它们的共同点,那是浪费时间,我们需要用完全不同的方式去处理这两代的图片标签。


    提示:以下是本篇文章正文内容,下面案例可供参考

    准备word文档图片样式

    必需使用本身带有图片的word文档来做模板才能正常显示图片,因为只有本身带有图片的word文档才会引入的图片相关的命名空间标签,不然拿一个本身不带有图片的word文档来做模板插入图片是不会显示的。

    所以,用一个调好图片格式、线条之类样式操作之后的word文档,转为模板文档后将原有的图片base64编码用freemarker标签替换即可。

    需要图片边框,固定、动态大小等样式,要自己先行调整。
    在这里插入图片描述

    一、doc格式word图片标签

    标签解读

    下面这个是简化版的三个图片的标签。
    第二个、第三个<w:r>标签需要删掉或者注释掉

    ${} freemarker标签有只需要三个。

        <w:p>
            <#list images as img>
            
            <w:r>
                <w:pict>
                    <w:binData w:name="wordml://03000001${img.index}.png" xml:space="preserve">${img.base64}</w:binData>
    
                    <v:shape id="图片 2" o:spid="_x0000_i1025" type="#_x0000_t75"
                             style="width:324pt;height:185.4pt;visibility:visible;mso-wrap-style:square;mso-position-horizontal:absolute"
                             o:preferrelative="f">
                            <v:imagedata src="wordml://03000001${img.index}.png" o:title=""/>
                        </v:shape>
                </w:pict>
            </w:r>
            
            </#list>
    
            <w:r>
                <w:pict>
                    ...第二张图片
                </w:pict>
            </w:r>
    
            <w:r>
                <w:pict>
                    ...第三张图片
                </w:pict>
            </w:r>
        </w:p>
    
    

    数据结构

    {
     "images":[
          {
            "title": "图片标题",
            "base64": "osodfhslkdhflksdkhflsdhjfohwelhlwsejnrrer==",
            "index": 101
           }
        ]
      }
    

    二、docx格式图片标签

    docx格式的标签相对doc的要简单一些。

    <#list images as img>
        <pkg:part pkg:name="/word/media/image${img.index}.jpeg" pkg:contentType="image/jpeg" pkg:compression="store">
            <pkg:binaryData>${img.base64}
            </pkg:binaryData>
        </pkg:part>
    </#list>
    
    展开全文
  • return "请检查是否授予了权限 or Word文档依赖包"; } } /** * 阅读 Word 文档 - docx 格式文件 * * @param filePath docx 文件路径 * @return 仅文档内容 */ public static String readWordDocx(String filePath) ...

    一、内容读取所需jar包导入

    异常崩溃点1以下异常均为jar包未导全

    1、java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLStreamReader;
    在这里插入图片描述

    2、RuntimeException异常 :无法正确读取文本内容
    在这里插入图片描述

    在这里插入图片描述
    3、org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/properties/declaration-handler

        // https://mvnrepository.com/artifact/com.android.support/multidex
        implementation group: 'com.android.support', name: 'multidex', version: '1.0.3'
        // https://mvnrepository.com/artifact/commons-codec/commons-codec
        implementation group: 'commons-codec', name: 'commons-codec', version: '1.14'
        // https://mvnrepository.com/artifact/org.apache.poi/poi
        implementation group: 'org.apache.poi', name: 'poi', version: '3.9'
        // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml
        implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '3.9'
        // https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas
        implementation group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: '3.9'
        // https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad
        implementation group: 'org.apache.poi', name: 'poi-scratchpad', version: '3.9'
        // https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans
        implementation group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '2.3.0'
        // https://mvnrepository.com/artifact/dom4j/dom4j
        implementation group: 'dom4j', name: 'dom4j', version: '1.6.1'
        // https://mvnrepository.com/artifact/stax/stax-api
        implementation group: 'stax', name: 'stax-api', version: '1.0.1'
    

    二、Android studio - jar 配置

    第一项:

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url 'https://jitpack.io' }
           // 镜像 : 
           // maven { url 'https://maven.aliyun.com/repository/public' }
           // maven { url 'https://maven.aliyun.com/repository/central' }
        }
    

    第二项:config.gradle / build.gradle (app)

    defaultConfig {
        ...
        multiDexEnabled true
    }
    

    第三项:文档读取有JDK版本限制,最好是更新至1.8(异常崩溃点2

    android {
       .......
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    

    三、权限配置

    <!-- 外部存储 -->
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <!-- 管理外部存储 -->
        <uses-permission
            android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
            tools:ignore="ScopedStorage" />
    

    异常点3: AndroidMainfest.xml 的 <application …
    内添加 android:requestLegacyExternalStorage="true" 否则就会提示下列异常:在这里插入图片描述
    在这里插入图片描述

    四、读取doc 、 docx

    import android.util.Log;
    import org.apache.poi.hpsf.DocumentSummaryInformation;
    import org.apache.poi.hpsf.SummaryInformation;
    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.hwpf.extractor.WordExtractor;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    
    /**
     * @ClassName : WordUtil.java
     * @Function : 文档读取工具类
     * @Description :  1、AndroidManifest - 权限
     *                  2、JDK 1.8
     *                  3、defaultConfig
     *                  4、全家桶依赖
     * @Idea :
     * {@link  }
     * @Encourage :Do everything you can right now, and then decide.
     * 全力以赴,历而后择。
     * @date : 2021/8/26
     */
    public class WordUtil {
    
        /**
         * 阅读 Word 文档 - doc 格式文件
         *
         * @param filePath doc 文件路径
         * @return 仅文档内容
         */
        public static String readWordDoc(String filePath) {
            try {
                FileInputStream in = new FileInputStream(filePath);
                //PoiFs :管理整个文件系统生命周期
                POIFSFileSystem pfs = new POIFSFileSystem(in);
                //获取文档所有的数据结构 : 文档对象
                HWPFDocument hwpfDocument = new HWPFDocument(pfs);
                return hwpfDocument.getText().toString();
            } catch (Exception e) {
                e.printStackTrace();
                return "请检查是否授予了权限 or Word文档依赖包";
            }
        }
    
        /**
         * 阅读 Word 文档 - docx 格式文件
         *
         * @param filePath docx 文件路径
         * @return 仅文档内容
         */
        public static String readWordDocx(String filePath) {
            try {
                InputStream is = new FileInputStream(filePath);
                XWPFDocument doc = new XWPFDocument(is);
                XWPFWordExtractor extractor = new XWPFWordExtractor(doc);
                return extractor.getText();
            } catch (Exception e) {
                e.printStackTrace();
                return "请检查是否授予了权限 or Word文档依赖包";
            }
        }
    
    }
    
    

    五、其他

    1、扫描文档
    2、读取txt文档并解决转码问题
    3、fileparse 文件解析工具

    展开全文
  • 那今天给大家介绍的是如何将多个 Doc 格式文档批量转为 Docx 格式。 我们会在一些系统里面上传资料的时候,会碰到对格式有一定的要求。比如说必须要求 Docx 格式,但是我们的文档又是 Doc 格式的。所以我们就必须将...

    概要:我们都知道 Word 格式有多种。比如常见的有 Doc、Docx,这两种类型是能够相互兼容的,也是能够相互转化的。那今天给大家介绍的是如何将多个 Doc 格式文档批量转为 Docx 格式。

    我们会在一些系统里面上传资料的时候,会碰到对格式有一定的要求。比如说必须要求 Docx 格式,但是我们的文档又是 Doc 格式的。所以我们就必须将这些 Doc 格式文档转为 Docx 格式。那你知道有没有什么快捷的方式来完成 Doc 到 Docx 格式的转化吗?今天就给大家带来一种非常便捷高效的方法,不需要依赖于 Office 就可以完成 Doc 到 Docx 格式的转化。并且还能够支持一次将多个 Doc 格式的 Word 文档批量转为 Docx 格式。

    工具准备

    今天给大家介绍的是使用「我的ABC软件工具箱」批量将 Doc 格式的 Word 文档批量转为 Docx 格式的方法。我们打开「我的ABC软件工具箱」后按下图所示选择「格式转换」-「Word 转换为其它格式」的功能。

    选项设置

    在我们选择好待处理的 Doc 格式的文件后,我们需要做一个很简单的设置。也就是需要勾选转换后的格式,如下图所示的【docx】选项!这样就可以实现批量将多个 Doc 格式的 Word 文档转为 Docx 的格式了!

    处理完成

    在我们做好选项设置后,就可以点击下一步进行存储路径的选择了。选择好后就可以交给软件进行处理了,只需要一会儿,软件就可以完成批量将多个 Doc 格式转为 Docx 格式的操作,非常的便捷。在我们做好选项设置后,就可以点击下一步进行存储路径的选择了。选择好后就可以交给软件进行处理了,只需要一会儿,软件就可以完成批量将多个 Doc 格式转为 Docx 格式的操作,非常的便捷。

    展开全文
  • 猛mm象.docx转HTML转换器Mammoth旨在转换.docx文档(例如由Microsoft Word,Google Docs和LibreOffice创建的文档),并将其转换为HTML。 Mammoth的目标是通过使用文档中的语义信息并忽略其他细节来生成简单干净HTML...
  • 概要:前面我们介绍过常见的 Word 文档有多种格式,比如 DocDocx,并且详细介绍了如何批量将多个 Doc 格式的 Word 文档批量转为 Docx 格式文档,相信对大家都有一些的帮助。那 Docx 格式的文档又如何转为 Doc 格式...
  • 有时候电脑上没有安装office软件,但又需要查看word文档,可以使用这款免费Word阅读器。 这款免费Word阅读器能打开Word (Doc,Docx)和rtf文件,还可以显示txt文件,重要的是软件是绿色软件,无需安装,完全不需要...
  • word文件解除保护,解除密码。需要本机安装了可以打开docx文件的软件,如word、WPS
  • Word文档docxdoc的区别.docx
  • 使用破解后的aspose.words for java,实现.doc文档转为.docx问题,不丢失任何文档内容
  • 读取Word文档
  • 目前市面上的方案 如果有不全的,欢迎指正。 一、最受欢迎的NPOI ... 该项目是 POI Java 项目的 .NET 版本...支持的格式:xls、xlsx、docx 设计为面向接口(查看 NPOI.SS 命名空间) 不仅支持导出,还支持导入 适用
  • 之前的一个需求写成了一个依赖库,主要就是实现可以在app里打开word文档,不用去调一些其他的wps等等的第三方软件。先提供一个其他思路,集成腾讯TBS,大厂的SDK还是不错的,效果就自己试试吧。 我的依赖库是基于...
  • 功能非常齐全的文档密码破解软件,专治各种不服!
  • html转word 文档 doc docx

    千次阅读 2021-07-08 09:15:56
    在做项目时,要将富文本...docx体积更小,而且word2007也可以打开 1.引用插件html-docx.js <script src="html-docx.js"></script> 2.构建完整的html内容文档 var content = '<!DOCTYPE html>
  • 主要功能: 将word转为RTF 将word转为PDF 将word转为图片 将word转为txt 将.docx转为.doc 插入水印 插入下标和上标 删除宏 插入脚注 插入尾注 设置高亮 加密word文档 插入注释 页面设置 查看模式邮件合并 邮件合并...
  • Word文档中提取所有引用一个供个人使用的python脚本,可从Word文档中提取所有引用。 该引用必须在括号中(括号,即()) 参考必须包含一年(例如2021年)安装安装 安装软件包/模块(将显示错误) 编辑脚本并添加...
  • 网上好多都是docdocx,之前使用aspose.word 实现docxdoc后,如果文档内容比较复杂时,转换出的doc打开很大概率会报错,后转用docx4j完美实现了docxdoc且打开不会报错。 1、相关代码 String filePath = "C:\\...
  • 功能需求要求实现文档上传、下载、查看、删除,查看没弄过,别的就不提了,以下是我记录的实现文档在线查看的方法以及效果图 实现思路 首先把word文件转为pdf,然后在用js查看pdf文件实现在线查看功能。 主要...
  • word文档doc格式转换成docx

    千次阅读 2020-10-14 11:11:58
    //把doc格式转换成docx //导入 Spire.Doc.jar Document d = new Document("F:\\**\\**\\云想.doc"); d.saveToFile("F:\\**\\**\\云想.docx");
  • js 导出word 文档 doc docx

    万次阅读 2019-11-11 14:32:27
    在做项目时,要将富文本编辑器,或是html内容 导出为word。 先引入文件保存js ...docx体积更小,而且word2007也可以打开 1.引用插件html-docx.js <script src="html-docx.js"></script>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,614
精华内容 7,445
关键字:

word文档是doc还是docx