精华内容
下载资源
问答
  • 修改word作者等属性

    千次阅读 2013-06-03 09:19:01
    1.右键该word文档,点击“属性”。 2.点击“详细信息”选项卡,就可修改啦。

    1.右键该word文档,点击“属性”。

    2.点击“详细信息”选项卡,就可修改啦。

    展开全文
  • Word 2007敏感信息及存储结构

    千次阅读 2013-08-09 11:54:45
    Word 2007 文档结构 一、Word2007敏感信息的可能存储位置 1.批注、修订的修订标记、版本和墨迹注释  ...文档属性也称为元数据,它包括关于文档的详细信息(例如作者、主题和标题.评论、已删除文本、旧版本等),

    Word 2007 文档结构

    一、Word2007敏感信息的可能存储位置

    1.批注、修订中的修订标记、版本和墨迹注释   

    文档可能包含诸如修订中的修订标记、批注、墨迹注释或版本等项目。此信息使其他人能够看到文档处理人员的姓名、审阅者批注以及对文档所做的更改。

    2.文档属性和个人信息

    文档属性也称为元数据,它包括关于文档的详细信息(例如作者、主题和标题.评论、已删除文本、旧版本等),还包括由 Office 程序自动维护的信息(例如最近保存文档的人员的姓名以及文档的创建日期)。如果使用了特定的功能,word文档还可能包括其他类型的个人身份信息 (PII),例如电子邮件标题、请求审阅信息、传送名单和模板名称。

    3.页眉、页脚和水印

    Word 2007文档可能在页眉和页脚中包含信息。此外,可能在 Word 文档中添加了水印。

    4.隐藏文字

    Word2007 文档可以包含设置为隐藏文字格式的文本。可以使用“文档检查器”来搜索隐藏文字。

    5.文档服务器属性

    如果文档保存在文档管理服务器上的某个位置(如基于 Microsoft Windows SharePoint Services 的“文档工作区”网站或库),该文档可能包含与此服务器位置有关的其他文档属性或信息。

    6.自定义 XML 数据   

    文档可能包含在文档本身中不可见的自定义 XML 数据。“文档检查器”可以查找并删除这些 XML 数据。

    :以上敏感信息都可以用word文档检查器检查和去除.

    二、Word2007文档的基本结构

    Word将包的内容分成许多逻辑部件,每个部件存储了一个特定的    文档部分,例如:

    1.注释

    2.格式定义

    3.列表定义

    4.页眉

    5.图表

    6.关系图

    7.文档内容

    8.图片

    在包中,Word使用单独的文件来表示文档中的每个部分.这些部件可以由XML文件组成,例如包含标记的Word XML格式的文档部件,以及附加的内容,例如二进制的图片文件.所有的这些都包含在包中.但是,更为重要的是,通过开放打包约定定义的一些例外,实际的文件目录结构是任意的.

    包中文件的关系决定了文件的有效性.可以重新排布和命名ZIP容器当中的部件,只要保证正确的更新关系,并且保证文档部件之间正确的关联就可以.如果关系是正确的,就可以无误的打开文档.

    例如,在Word 2007中,容器文件代表了一个文档.在容器文件中,按序排布的部件组成了文档.例如,一个Word2007文件一般包含下列目录和文件:


    1.[Content_Types].xml.描述出现在文件中的每个内容类型.

    2.rels folder. 存储所有指定部件的关系部件.

    3.docProps folder.包含了应用程序的属性部件.

    3.1App.xml file. 包含了应用程序特定的属性.如文档字数,行数.

    3.2Core.xml file. 包含了所有基于开放打包约定文档格式的通用文件属性.如文档的作者,单位等信息.

    4.Word folder文字信息

    4.1theme folder. 包含了应用程序使用的样式.

    4.2media folder 包含了多媒体信息,如图片.

    4.3rels folder. 存储所有指定部件的关系部件.

    4.4document.xml 是主XML文档,其中包含了Word文档中所有文字的内容和属性以及非文字内容的属性.

    4.5endnotes.xml  fontTable.xml footnotes.xml webSettings.xml header1.xml                 分别描述了尾注,字体表, 脚注, Web设置,页眉,

    4.datastore folder.包含了文档中的自定义XML数据部件.自定义XML数据部件是一个XML文件,您可以将节点绑定到文档的内容控件中.默认不存在

    5.item1.xml file. 包含了一些文档中出现的数据.例如自定义XML数据部件.默认不存在

    扫描office2007文档敏感信息,可以把要扫描的文档复制一份,解压后或直接遍历操作其中的xml文件,与敏感词进行匹配.java在处理zip和xml文件方面比较方便.所以可以考虑用java做.

          Office2007都是基于OpenXml格式的,只是里面的结构不大相同。都可以解压或直接提取里面的xml文档,如果要测试敏感信息的话,理论上都可以采取上面的方法。

    在Office2007以前,例如ofice2003,其实是一个扩展名为.doc的二进制文件。该文件的内部格式是非常复杂的,并且扩展性和灵活性差.现在还没有找到关于Word2003数据存储的资料.

    展开全文
  • 注意:进行下面步骤的前提是你已经安装了EndNote 一、用EndNote X7创建库 安装好之后,第一次打开EndNote,会显示如下的... new”,创建一个新的库, 位置在我们上面的文件夹,此时,会弹出如下的文件框: ...

    EndNote X9:   https://www.biomart.cn/experiment/793/2714803.htm

     

    注意:进行下面步骤的前提是你已经安装了 EndNote

     

    一、用EndNote X9创建库

    安装好之后,第一次打开EndNote,会显示如下的界面:

     

    可能会和我的不一样,我是都不同意后的界面!

    1、某个盘新建一个文件夹来存放,我保存的位置是E:\...\EndNote Library\,EndNote Library是我在E盘下新建的文件夹, 

    2、选择 EndNote  中的那个” file -> new”,创建一个新的库, 位置在我们上面的文件夹中,此时,会弹出如下的文件框:

    点击  打开->保存  就好了,可以打开这个文件夹,例如,我打开EndNote Library文件夹,里面有EndNote生成的两个东东,如下:

    此时,EndNote 的库已经创建好了。要怎么使用呢?继续看下面的。刚才 Create a new library 之后,弄好了库的位置,EndNote的界面显示如下:

     

     

    二、查找并添加期刊对应的参考文献格式

    我的理解是,每个论文上面都有参考文献的信息,比如日期、作者、发布期刊的名字等,当我们给一个特定的 参考文献格式,endnote 会自动帮我们提取这些信息;

    EndNote本身就自带了很多期刊的格式文件,如果没有你要投的期刊的格式文件的话,就要你自己找了。

    其实不用在网上找别人的下载,endnot官网就有所有的格式:http://endnote.com/downloads/styles

    我们打开官网,如下:

    选择 download 下面的 output stytles,  输入期刊的名字: sensors,  点击 search, 便可以看到下面的期刊名字!

    点击最右边的下载,找到格式文件之后,要把格式文件放到  EndNote  安装目录下的  Styles文件夹下。

     注意啦:是安装目录,不是刚才的库目录 ,放好后如下图所示:

    注意这个地方:有时候这个期刊找不到,比如GPS solution, 是因为 GPS Solution 这个期刊属于 Springer 这个大的类,就是说很多期刊的格式是一致的,需要看他的大类是什么,这个地方需要注意哦!

    经过尝试,第三个符合GPS solution的格式

     

     

    三、查找并添加期刊对应的参考文献格式

    为了使用 对应期刊 的格式来生成参考文献,你需要在  EndNote  中选择该期刊的格式,如下图所示,在下拉框中会默认显示几个期刊的名称,如果有你需要的直接选定就好了,如果没有你需要的期刊,则选择Select Another Style, 会弹出一个框,找到我们的 Springer 。。。即可,

    操作如下图所示:

    双击一下即可,此时期刊格式已选择好,得到如下:

     

     

    4.插入中文格式的论文

    格式都弄好了,下面我以一篇文章为例,来说明如何生成参考文献以及如何导入到你的Word论文中。
    我打开百度学术/google学术, 输入EKF navigation, 找了一篇路文,进去之后,看到对应的引用参考文献:

    点击 endnote, 下载的内容 放在我们上面建的库中,这回不是安装库啦

    现在转到EndNote,看看如何使用这个xueshu.enw文件,见下图:

    注意:可以 右击 My Groups , 然后点击 新建组 Creat Groups , 命名:参考文献;也可以命名其他的名字,这样的话后面写论文比较有区分性;尤其是对大论文

     

    首先,点击界面上的向下的绿色的箭头来导入刚才的 scholar.enw 文件,点击后,会弹出 Import File 对话框,点击 Choose…按钮,会弹出文件选择对话框,选择刚才下载的scholar.enw文件,注意:在Import File对话框的”Import Option”一项中,要选择 EndNote Import,而不能是默认的EndNote Library,要不然不会生成参考文献。导入后,你就会发现,在EndNote中出现了一个生成好的参考文献引用,如下图所示:

    然后,我们可以选着 加入的 xueshu.enw, 放在我们上面建立的组内面:

     

     

     

     五、 参考文献的 Springer 格式插入到Word中

     打开word:

    1: 选择这个软件,一般都是和word匹配的

    2:选择我们想要的文献格式

    3:打开匹配的EndNote 软件

    第3步骤结束后出现如下的界面:

    1:选择对应的文献格式; 2:选择引用的文章; 3:加入word中鼠标对应的位置即可

     

    如果我想删除 [1] 处的参考文献,怎么办?

    可以点击  Edit&Manage Citation(s)  管理文献。

    依次点击Edit Reference>Remove Citation>OK

     

    参考文献就没有了

     

    如果想更换一种输出样式,别忘记再更换完之后,在Word中点击更新样式按钮

     

     

     

    六、出现问题和解决方法

    出现问题1:如果出现word中加入文献时不是上面的情况,请执行下面的操作,点击一下:

    出现问题2: 有些引用文件本身会存在一些格式错误,比如这个引用文件没有正确显示出Journal名称

    这种情况经常出现,我们首先需要双击这一文献,然后将Author处的期刊名称复制粘贴Journal位置,并将Author处的期刊名称删除即可。

     

    出现问题3:想输出特定格式的参考文献

    我们 把GPS Solution 的期刊格式当作联系的例子:

    文章用引用的模式

    参考文献格式:

    Yuan Y , Cheng L, Wang Z, Sun C (2019) Position tracking and attitude control for quadrotors via active disturbance rejection control method.  
    IEEE Transactions on Aerospace & Electronic Systems 48(2):1786-1792. https://doi.org/10.1109/TAES.2012.6178100

    作者 (时间)题目. 期刊名字 期(卷):页数.   https://doi.org/DOI

    下面是对EndNote的具体操作:
    第一步:Edit -> output stysle -> new stytle 

    界面如下:

    Page Number 选择这样的格式,对应我们上面的参考文献格式:1786-1792

    Journal name 选择 全称,对应我们上面的参考文献格式:IEEE Transactions on Aerospace & Electronic Systems

     

    重要: 引用Citation 下面的 Temples , 选择 Insert Field,  然后选择: Author year;

    注意啦,下面的(Author. year) ()和 空格 是我们自己打进去的, 根据上面引用 GPS solution的格式来:

     

    在这个界面还要注意当引用多个文献时,文献之间用 逗号 隔开, 别忘了后面空一格

     

    我们在选择引用时,作者的个数,根据GPS Solution 的引用格式,我们设置如下:

    Author Name 设置如下:

    这时候,我们参考文献的引用格式,就和前面 GPS Soution的格式一样了,如下所示:

     

    注意:以上都是对参考文献在文中的引用 Citation 进行的设置,还需要对 参考文献的 Bibilography 进行设置

    设置参考文献的格式,通上面的GPS Solution 一致:

    Temples设置
    作者 (时间)题目. 期刊名字 期(卷):页数.   https://doi.org/DOI

     

    一般 DOI需要我们在网站找

    然后复制到我们下载的文献里面; 其他信息也一样,如果没有,我们可以从其他网站找到,然后放在对应的位置即可!

     

    Sort Order 设置

    Author Lists 设置,这里是选择全部的作者,也是根据GPS Solution 设置

     

    作者名字设置姓在前,名在后,且姓和名间没有逗号 (A B)

     

    作者间隔用 隔开,且显示全部作者

     

    全部设置完成后,点击 X , 格式命名:GPS Solution ,  这样我们就可以在下面的操作中看到自己的格式:

    注意:如果我们想修改这个格式,可以点击上面的 Edit " GPS Solution"

     

    出现问题4:如果参考文献的格式引用 按照第一作者 字母的顺序排列怎么设置呢?  GPS solution就是这样的格式!

    效果如下:

     

    出现问题5:参考文献字体的格式设置

    第一步: Endnote 窗口右下角的【Hanging Indent】设置为【All paragraph】

     

    第二步: 在“EndNote X9 Format Bibliography”的【Layout】面板,即可设置字体、字号、行距和悬挂缩进。

    这里的演示中,我将字号设置为12磅(即小四)、将行距设置为1.5倍、将悬挂缩进设置为1厘米

    结果如下:

    问题6:设置参考文献   “两端对齐”   

    步骤1:   开始-> 下拉

     

    步骤2:   EndNote> 修改

     

    展开全文
  • Java使用POI提取word, Excel, PPt, txt的文本内容及文件属性作者 新公司实习的第一个任务,在网上查了一些博客后接触到了poi,它为Java提供API对Microsoft Office文件进行读写操作的功能。 可以在apache官网下载...

    Java使用POI提取word, Excel, PPt, txt的文本内容及文件属性中的作者

    新公司实习的第一个任务,在网上查了一些博客后接触到了poi,它为Java提供API对Microsoft Office文件进行读写操作的功能。
    可以在apache官网下载jar包http://poi.apache.org/download.html
    在这里插入图片描述
    查看API文档http://poi.apache.org/components/index.html
    在这里插入图片描述

    1、新建普通的maven项目

    poi的jar包较多,于是选用maven仓库导入,先建一个普通的maven项目
    在这里插入图片描述
    在这里插入图片描述
    然后next,再起项目名就可以了

    2、在pom.xml里添加poi的依赖

    在标签组里添加

    <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi</artifactId>
          <version>3.17</version>
        </dependency>
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-scratchpad</artifactId>
          <version>3.17</version>
        </dependency>
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml</artifactId>
          <version>3.17</version>
        </dependency>
    

    3、提取word文本和作者

    一开始只知道查看别人博客给出代码,但很多都跟自己需要的不一样,而且不完整、导包环境不一样等,总是不满意,搜索很花时间而且效果也不太好,于是试着直接去参考官网上给出的example
    http://poi.apache.org/components/document/quick-guide.html
    在这里插入图片描述
    HWPF对应.doc类型的文件,XWPF对应.docx类型的文件,Excel、PPt也是类似的

    import com.google.common.base.CharMatcher;
    import com.google.common.collect.Lists;
    import com.google.gson.Gson;
    
    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.hwpf.extractor.WordExtractor;;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Arrays;
    import java.util.List;
    
    public class WordUtil {
        public static String readWordFile(String path) {
            List<String> contextList = Lists.newArrayList();
            InputStream inputStream = null;
            try {
                inputStream = new FileInputStream(new File(path));
                if (path.endsWith(".doc")) {
                    HWPFDocument document = new HWPFDocument(inputStream);
                    System.out.println("作者:"+document.getSummaryInformation().getAuthor());
                    WordExtractor extractor = new WordExtractor(document);
                    String[] contextArray = extractor.getParagraphText();
                    Arrays.asList(contextArray).forEach(context -> contextList.add(CharMatcher.whitespace().removeFrom(context)));
                    extractor.close();
                    document.close();
                } else if (path.endsWith(".docx")) {
                    XWPFDocument document = new XWPFDocument(inputStream).getXWPFDocument();
                    System.out.println("作者:"+document.getProperties().getCoreProperties().getCreator());
                    List<XWPFParagraph> paragraphList = document.getParagraphs();
                    paragraphList.forEach(paragraph -> contextList.add(CharMatcher.whitespace().removeFrom(paragraph.getParagraphText())));
                    document.close();
                } else {
                    //LOGGER.debug("此文件{}不是word文件", path);
                    return "此文件不是Word文件"+path;
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (inputStream != null) try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                    //LOGGER.debug("读取word文件失败");
                    System.out.println("读取Word文件失败");
                }
            }
            return new Gson().toJson(contextList);
        }
    }
    

    使用了Google的Guava工具类去做集合和字符串操作,前提是在pom.xml里加上它的依赖

    <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>21.0</version>
        </dependency>
    
        <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>24.0-jre</version>
        </dependency>
    

    使用了Google的gson把集合类转换成JSON类型(又好像是JavaBean类型),同样要添加依赖

    <dependency>
              <groupId>com.google.code.gson</groupId>
              <artifactId>gson</artifactId>
              <version>2.2.4</version>
          </dependency>
    

    在代码中可以看到,使用了getSummaryInformation()去获得文档的摘要信息,再从摘要信息中获取需要的作者信息。

    一开始不知道怎么使用poi获取作者信息,以为只要使用jdk的方法就能获取文件属性,但发现只能获取文件的基本属性,比如

    Path testPath = Paths.get("E:\\test\\test1.xls");
            FileOwnerAttributeView ownerView = Files.getFileAttributeView(testPath, FileOwnerAttributeView.class);
            System.out.println("文件所有者:" + ownerView.getOwner());
    
    BasicFileAttributes attrs = Files.readAttributes(testPath, BasicFileAttributes.class);
    

    在这里插入图片描述
    这些类和方法参考了Oracle上有关IO流的jdk文档
    https://docs.oracle.com/javase/tutorial/essential/io/fileio.html
    https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#getAttribute-java.nio.file.Path-java.lang.String-java.nio.file.LinkOption…-

    然后又发现一个类似poi可以操作office文件的工具,Spire
    https://www.e-iceblue.com/Download/doc-for-java-free.html
    在这里插入图片描述
    先添加依赖

    <repositories>
            <repository>
                <id>com.e-iceblue</id>
                <name>e-iceblue</name>
                <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
            </repository>
        </repositories>
        
        <dependencies>
        <dependency>
              <groupId>e-iceblue</groupId>
              <artifactId>spire.doc.free</artifactId>
              <version>2.0.0</version>
          </dependency>
      </dependencies>
    

    读取文档属性

    Document doc = new Document("E:\\test\\test1.doc");
    //读取内置文档属性
    System.out.println("作者: " + doc.getBuiltinDocumentProperties().getAuthor());
    

    但是没有看到java的XLS包,而且使用依赖导Presentation包时maven总是找不到对应的包,于是放弃了。想到同样是操作office类型的,那poi自己肯定也有类似获取文件属性的方法,就找到了如上代码中的,其他Office类型也类似。

    4、提取Excel文本和作者

    看到个好刘逼好想详细的POI Excel操作博客:https://www.cnblogs.com/huajiezh/p/5467821.html

    import com.google.common.collect.Lists;
    import com.google.gson.Gson;
    
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.*;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    public class ExcelUtil {
        public static String readExcelFile(String path){
            List<List<String>> rowlist = Lists.newArrayList();
            InputStream inputStream = null;
            String str = "";
            Workbook workbook = null;
            try {
                //获取文件输入流
                inputStream = new FileInputStream(new File(path));
                //获取Excel工作簿对象
                if (path.endsWith(".xls")) {
                    workbook = new HSSFWorkbook(inputStream);
                    System.out.println("作者:" + ((HSSFWorkbook) workbook).getSummaryInformation().getAuthor());
                }else if (path.endsWith(".xlsx")) {
                    workbook = new XSSFWorkbook(inputStream);
                    System.out.println("作者:" + ((XSSFWorkbook) workbook).getProperties().getCoreProperties().getCreator());
                }
                else {
                    //LOGGER.debug("此文件{}不是word文件", path);
                    return "此文件不是Excel文件" + path;
                }
                //得到Excel工作表对象
                for (Sheet sheet : workbook ) {
                    for (Row row : sheet) {
                        //首行(即表头)不读取
                        if (row.getRowNum() == 0) {
                            continue;
                        }
                        List<String> cellList = Lists.newArrayList();
                        for (Cell cell : row) {
                            switch (cell.getCellTypeEnum()) {
                                case STRING:
                                    cellList.add(cell.getRichStringCellValue().getString());
                                    break;
                                case NUMERIC:
                                    if (DateUtil.isCellDateFormatted(cell)) {
                                        cellList.add(""+cell.getDateCellValue());
                                    } else {
                                        cellList.add(""+cell.getNumericCellValue());
                                    }
                                    break;
                                case BOOLEAN:
                                    cellList.add(""+cell.getBooleanCellValue());
                                    break;
                                case FORMULA:
                                    cellList.add(cell.getCellFormula());
                                    break;
                                case BLANK:
                                    cellList.add("");
                                    break;
                                default:
                                    cellList.add("");
                            }
                        }
                        if (cellList.size() > 0)
                            rowlist.add(cellList);
                    }
                }
                Gson gson = new Gson();
                str = gson.toJson(rowlist);
                //关闭流
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                if (inputStream != null) try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                    //LOGGER.debug("读取word文件失败");
                    System.out.println("读取Excel文件失败");
                }
            }
            return str;
    	}
    }
    

    5、提取PPt文本和作者

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    import com.google.common.collect.Lists;
    import com.google.gson.Gson;
    import org.apache.poi.hslf.usermodel.HSLFSlideShow;
    import org.apache.poi.sl.usermodel.Shape;
    import org.apache.poi.sl.usermodel.Slide;
    import org.apache.poi.sl.usermodel.SlideShow;
    import org.apache.poi.sl.usermodel.TextShape;
    import org.apache.poi.xslf.usermodel.XMLSlideShow;
    
    
    public class PPtUtil {
        //直接抽取幻灯片的全部内容
        public static String readPPtFile(String path) {
            List<String> textList = Lists.newArrayList();
            InputStream inputStream = null;
            SlideShow ppt = null;
            try {
                //获取文件输入流
                inputStream = new FileInputStream(new File(path));
                if (path.endsWith(".ppt")) {
                    ppt = new HSLFSlideShow(inputStream);
                    System.out.println("作者:" + ((HSLFSlideShow)ppt).getSlideShowImpl().getSummaryInformation().getAuthor());
                }else if (path.endsWith(".pptx")) {
                    ppt = new XMLSlideShow(inputStream);
                    System.out.println("作者:" + ((XMLSlideShow)ppt).getProperties().getCoreProperties().getCreator());
                }
                else {
                    //LOGGER.debug("此文件{}不是word文件", path);
                    return "此文件不是PPt文件" + path;
                }
                // get slides
                List<Slide> slides = ppt.getSlides();
    
                for (Slide slide : slides) {
                    List<Shape> shapes = slide.getShapes();
                    for (Shape sh : shapes) {
                        //如果是一个文本框
                        if (sh instanceof TextShape) {
                            TextShape shape = (TextShape) sh;
                            textList.add(shape.getText());
                        }
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                if (inputStream != null) try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                    //LOGGER.debug("读取word文件失败");
                    System.out.println("读取PPt文件失败");
                }
            }
            return new Gson().toJson(textList);
        }
    }
    
    

    6、提取Txt文本和作者

    import com.google.common.collect.Lists;
    import com.google.gson.Gson;
    
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.List;
    
    public class TxtUtil {
        public static String readTxtFile(String path) {
            List<String> txtList = Lists.newArrayList();
            FileReader fileReader = null;
            BufferedReader bufferedReader = null;
            try {
                if (path.endsWith(".txt")) {
                    fileReader = new FileReader(path);
                    bufferedReader = new BufferedReader(fileReader);
                    String s = "";
                    while ((s = bufferedReader.readLine()) != null) {
                        txtList.add(s);
                    }
                } else {
                    return "此文件不是Txt文件" + path;
                }
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                if (fileReader != null && bufferedReader != null) try {
                    fileReader.close();
                    bufferedReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                    //LOGGER.debug("读取word文件失败");
                    System.out.println("读取Txt文件失败");
                }
            }
            return new Gson().toJson(txtList);
        }
    }
    
    
    

    7、测试类

    import poiUtils.ExcelUtil;
    import poiUtils.PPtUtil;
    import poiUtils.TxtUtil;
    import poiUtils.WordUtil;
    
    public class App 
    {
        public static void main(String[] args ){
            System.out.println("E:\\test\\test1.doc:"+new WordUtil().readWordFile("E:\\test\\test1.doc"));
            System.out.println("E:\\test\\test1.docx:"+new WordUtil().readWordFile("E:\\test\\test1.docx"));
            System.out.println("E:\\test\\test1.xls:"+new ExcelUtil().readExcelFile("E:\\test\\test1.xls"));
            System.out.println("E:\\test\\test1.xlsx:"+new ExcelUtil().readExcelFile("E:\\test\\test1.xlsx"));
            System.out.println("E:\\test\\test1.ppt:"+new PPtUtil().readPPtFile("E:\\test\\test1.ppt"));
            System.out.println("E:\\test\\test1.pptx:"+new PPtUtil().readPPtFile("E:\\test\\test1.pptx"));
            System.out.println("E:\\test\\test1.txt:"+new TxtUtil().readTxtFile("E:\\test\\test1.txt"));
        }
    }
    
    

    输出结果:

    作者:ying
    E:\test\test1.doc:["文档内容","第一段","第二段"]
    作者:ying
    E:\test\test1.docx:["文档内容","第一段","第二段"]
    作者:ying
    E:\test\test1.xls:[["小王","男","19.0","Mon Nov 08 00:00:00 CST 1999","true"],["大王","女","20.0","Wed Nov 04 00:00:00 CST 1998","false"]]
    作者:ying
    E:\test\test1.xlsx:[["小王","男","19.0","Mon Nov 08 00:00:00 CST 1999","true"],["大王","女","20.0","Wed Nov 04 00:00:00 CST 1998","false"]]
    作者:ying
    E:\test\test1.ppt:["这个标题","这个内容"]
    作者:ying
    E:\test\test1.pptx:["这个标题","这个内容"]
    E:\test\test1.txt:["txt内容","第二行","第三行"]
    
    
    展开全文
  • VC++调用word进行word表格的填写

    千次阅读 2011-05-15 23:29:00
    但是VC++调用word的确不容易,特别是对word中各种函数的使用,本文以作者的工作经验详细介绍一下如何调用word和进行word表格的填写,有同样需求的编友也可查看一下MSDN的Automation Microsoft Office 97
  • word2vec训练中文词向量

    万次阅读 多人点赞 2018-09-26 16:27:45
    ,内容上面百度百科大陆相关的信息比较全面,港澳台和国外相关信息维基百科的内容比较详细,因此训练时将两个语料一起投入训练,形成互补,另外还加入了1.1万公司行业数据 模型:gensim工具包word2vec模型,安装...
  • Word 2010 的 VBA 入门

    千次阅读 2016-06-07 14:27:17
    本主题汇总了 VBA 语言、有关如何访问 Word 2010 的 VBA 的说明、实际 Word VBA 编程问题的详细解决方案以及有关如何编程和调试的提示。 上次修改时间: 2015年5月11日 适用范围: Office 2
  • word技巧

    千次阅读 2018-03-01 21:40:22
    word 高效经典教程(整理版)目录一分钟驾驭word 高效经典教程(整理版)... 6A、基础知识... 61、度量单位... 62、WORD中文字字号与磅的对应关系... 63、字体文件格式... 7B、文本编辑... 71、快速移动文档... 72、...
  • 关于NLP,有各种不同的表达,如:词向量、word embedding、分布式表示、word2vec、glove等等,这一锅粥的名词术语分别代表什么,他们具体的关系是什么,他们是否处于平级关系? 希望写完这篇文章后,自己能清楚地...
  • 使用word2vec训练中文词向量

    千次阅读 2019-03-15 17:29:32
    训练过程 模型:gensim工具包word2vec模型,安装...维基百科数据量不够大,百度百科数据量较全面,内容上面百度百科大陆相关的信息比较全面,港澳台和国外相关信息维基百科的内容比较详细,因此训练时将两个语料...
  • word2vec和word embedding有什么区别?

    千次阅读 2017-12-18 11:26:29
    作者:Scofield链接:...很好,正好可借此机会介绍词向量、word2vec以及DeepNLP整套相关的东西:文章很长,是从CSDN上写好复制过来的,亦可直接跳到博客观看:深度学习(Deep Learning)
  • 前一篇详细讲解了卷积神经网络CNN原理,并通过TensorFlow编写CNN实现了MNIST分类学习案例。本篇文章将分享gensim词向量Word2Vec安装、基础用法,并实现《庆余年》中文短文本相似度计算及多个案例。本专栏主要结合...
  • word到latex (超详细latex使用)

    千次阅读 2020-07-22 11:38:12
    其他 作者信息、基金、数据可用性说明、等等 8.认真检查全文 (正文、缩略词、符号、公式、图、表、标题、注释、字数要求、大小)以及期刊要求。内容无误后,尽量排除LaTex编译过程出现的警告。一般论文排版时可能...
  • 词嵌入来龙去脉 word embedding、word2vec

    万次阅读 多人点赞 2017-08-14 21:57:45
    0词嵌入来龙去脉 NLP的核心关键语言表示Representation NLP词的表示方法类型 1词的独热表示one-hot representation 2词的分布式表示distributed representation NLP语言模型 ...词嵌入 word embedding
  • Word XPWord XP 目录的编制方法 1.单击要插入目录的位置。 2.指向"插入"菜单上的"引用",再单击"索引和目录"。 3.单击"目录"选项卡。 4.若要使用现有的设计,请在"格式"框单击进行选择。 5.根据需要,选择...
  • Deep contextualized word representations

    千次阅读 2019-04-04 09:49:04
    对比传统Word2Vec这种形式的词向量,本文提出的模型是一种动态模型。在以往的词向量表示,词都是一种静态的形式,无论在任何的上下文中都使用同一个向量。这种情况下很难表示一词多义的现象,而ELMo则可以通过上...
  • word2vec和fastText来生成word embedding

    千次阅读 2019-10-10 21:30:40
    首先我们要知道Word2Vec包含了两种词训练模型:CBOW模型和Skip-gram模型。 那么word2vec到底是要做一件什么事情呢? 下面以CBOW为例进行讲解: 其实word2vec可以分为两部分: 模型训练 通过模型获得word ...
  • word embedding与word2vec的区别和联系

    千次阅读 2019-04-26 23:13:53
    NLP萌新一枚,经常看到word embedding与word2vec两个关键词,根据我之前掌握的机器学习的皮毛,我觉得这个词组的意思都是将自然语言表示成向量的形式。但是他们有什么区别呢,今天我查了一些资料,在此做一下记录。 ...
  • Java SE1.6的Synchronized Mark Word

    千次阅读 2016-03-10 16:05:00
    在多线程并发编程Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6为了减少获得锁和释放...
  • Microsoft Office Word 2003 的 XML

    千次阅读 2006-07-10 12:11:00
    Microsoft Office Word 2003 的 XML发布日期: 11/26/2004 | 更新日期: 11/26/2004Aaron Skonnard几年以前,我开始着手一个新书项目时,就决定用 XML 来编写整个项目。我认为用 XML 完成该书可让我在其他地方重复...
  • Microsoft Office Word ...有关向文档添加表单域的信息,请参阅创建打印表单、创建用户在 Word 填写的表单或在 Word 制作核对清单 使用特定命令时(如插入页码时、插入封面等文档构建基块时或创建目录时),...
  • Word2Vec

    千次阅读 2018-10-16 22:41:13
    版权声明:本文为博主原创文章,可随意转载,但请注明作者和出处。 https://blog.csdn.net/LeYOUNGER/article/details/78206832 摘要 关键词: Glove,word2vec,NNLM,...
  • word2vec源码解析之word2vec.c

    万次阅读 2014-07-28 19:00:41
    //下面是我对word2vec.c的注释 //详细算法可以参考论文,或者看这篇博客 http://www.cnblogs.com/downtjs/p/3784440.html // Copyright 2013 Google Inc. All Rights Reserved. // // Licensed under the Apache ...
  • 转自作者的公众号: 『数据挖掘机养成记』1. 引子大家好我叫数据挖掘机皇家布鲁斯特大学肄业我喝最烈的果粒橙,钻最深的牛角尖——执着如我今天我要揭开Word2vec的神秘面纱直窥其本质相信我,这绝对是你看到的最浅白...
  • VC++ 操作 word

    千次阅读 2016-08-19 15:45:03
    你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序.........
  • c++ 操作Word

    千次阅读 2015-02-06 21:12:31
    c++ 操作Word 2013-01-16 15:35 6602人阅读 评论(0) 收藏 举报 摘要: 使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图...
  • VC++ 操作Word

    千次阅读 2015-07-03 15:41:07
    你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序.........

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,910
精华内容 11,964
关键字:

word详细信息中的作者