精华内容
下载资源
问答
  • word2010删除作者信息

    2020-05-02 11:20:57
    另外,可以在选项部分,设置作者 目前是word精简版

     

    另外,可以在选项部分,设置作者

     

    目前是word精简版 

    展开全文
  • mac word从文档中删除个人信息

    千次阅读 2016-07-28 19:58:04
    如果你与其他人共享文档,你可以删除 Office 自动添加到文档的个人信息,如作者姓名和公司。 在“Word”菜单上,单击“首选项”。 在“个人设置”下,单击“安全性” 。 在“隐私选项”下,选中“保存时从...
    从文档中删除个人信息

    如果你与其他人共享文档,你可以删除 Office 自动添加到文档的个人信息,如作者姓名和公司。

    1. 在“Word”菜单上,单击“首选项”。

    2. 在“个人设置”下,单击“安全性” "安全首选项"按钮 。

    3. 在“隐私选项”下,选中“保存时从文件中删除个人信息”复选框。

    4. 保存文档。

      注释: 将从文件中删除以下个人信息:

      • 在文档属性中,“摘要”选项卡上的“作者”、“管理者”和“公司”属性,以及“统计信息”选项卡上的“最后一次保存者”属性。

      • 与批注或修订相关联的所有姓名都将更改为“作者”。如果你在你的文件中的特定批注或其他位置添加或编辑你的姓名,此过程不会删除该信息。 你必须手动删除该信息。


    展开全文
  • POI解析Word批注信息

    千次阅读 2019-08-28 12:44:22
    前言:报告审批后,要求解析Word批注信息获取 作者、引用正文、批注内容 等信息入库,我这边额外加了回复对象(为后续考虑) 先上代码吧: /** * @author : weiheng * @version V1.0 * @date Date : 2019年08...

    前言:报告审批后,要求解析Word批注信息获取 作者、引用正文、批注内容 等信息入库,我这边额外加了回复对象(为后续考虑)

    先上代码吧:

    
    /**
     * @author : weiheng
     * @version V1.0
     * @date Date : 2019年08月28日 10:31
     */
    public class WordComment {
    
    	/** 批注ID */
    	private String id;
    
    	/** 回复的目标批注ID(对哪条批注进行回复)*/
    	private String replyFor;
    
    	/** 批注引用的正文 */
    	private String text;
    
    	/** 批注内容 */
    	private String comment;
    
    	/** 批注人 */
    	private String author;
    
    	public String getId() {
    		return id;
    	}
    
    	public WordComment setId(String id) {
    		this.id = id;
    		return this;
    	}
    
    	public String getReplyFor() {
    		return replyFor;
    	}
    
    	public WordComment setReplyFor(String replyFor) {
    		this.replyFor = replyFor;
    		return this;
    	}
    
    	public String getText() {
    		return text;
    	}
    
    	public WordComment setText(String text) {
    		this.text = text;
    		return this;
    	}
    
    	public String getComment() {
    		return comment;
    	}
    
    	public WordComment setComment(String comment) {
    		this.comment = comment;
    		return this;
    	}
    
    	public String getAuthor() {
    		return author;
    	}
    
    	public WordComment setAuthor(String author) {
    		this.author = author;
    		return this;
    	}
    }
    
    
    
    import org.apache.poi.POIXMLDocument;
    import org.apache.poi.openxml4j.opc.OPCPackage;
    import org.apache.poi.xwpf.usermodel.XWPFComment;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.jeecgframework.core.util.FtpUtils;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.*;
    
    /**
     * Word文件批注解析工具
     * @author : weiheng
     * @version V1.0
     * @date Date : 2019年08月27日 11:24
     */
    public class WordCommentsParseUtil {
    
    	/** text ? Word正文内容 */
    	private final String BODY_WT = "w:t";
    	/** picture ? 图片 */
    	private final String BODY_PIC = "wp:docPr";
    	/** 批注开始标识 */
    	private final String BODY_COMMENT_START = "w:commentRangeStart";
    	/** 批注结束标识 */
    	private final String BODY_COMMENT_END = "w:commentRangeEnd";
    
    
    	/** 加载远程文件(FTP文件服务器)内容产生的临时文件目录 */
    	private static String usrDir = System.getProperty("user.dir");
    	/** 批注所引用正文装配Map完毕标识 */
    	private boolean commentFilledComplete = false;
    	/** Word document */
    	private XWPFDocument docx = null;
    	/** 批注最大下标 */
    	private int maxCommentIndex;
    	/** 当前批注索引 */
    	private int commentIndex;
    	/** FTP服务器加载到本地的临时文件输出地址 */
    	private String localOutputFile;
    	/** docx数据存储对象 */
    	private OPCPackage opcPackage;
    
    
    	/**
    	 *
    	 * 初始化Word(XWPFDocument)文件对象
    	 * @param remotePath 远程文件访问路径(文件服务器)
    	 * @date 2019-08-27 11:54
    	 * @author weiheng
    	 */
    	private void initDocument(String remotePath){
    		try {
    
    			String filename = remotePath.substring(remotePath.lastIndexOf("/") + 1);
    			localOutputFile = usrDir + "/" + filename;
    			FtpUtils.downloadFileFromFtp(remotePath, localOutputFile);
    
    			opcPackage = POIXMLDocument.openPackage(localOutputFile);
    			docx = new XWPFDocument(opcPackage);
    			maxCommentIndex = docx.getComments().length - 1;
    			commentIndex = 0;
    		} catch (IOException e) {
    			e.printStackTrace();
    			throw new RuntimeException("初始化文件异常:" + e.getMessage());
    		}
    	}
    
    	/**
    	 *
    	 * 获取服务器上文件的批注信息(ID、引用正文、批注内容、回复的批注对象)
    	 * @param fileRemotePath FTP远程访问路径
    	 * @date 2019-08-27 20:41
    	 * @author weiheng
    	 */
    	public List<WordComment> getWordCommentsInfo(String fileRemotePath){
    
    		// 1、初始化 XWPFDocument 对象
    		initDocument(fileRemotePath);
    
    		// 2、解析正文,获取 批注ID, 批注正文, 批注回复对象ID
    		List<WordComment> comments = new ArrayList<>(10);
    		fillComments(docx.getDocument().getDomNode(), new LinkedList<>(), new HashMap<>(16), comments);
    
    		// 3、获取批注内容及作者
    		for (WordComment c : comments) {
    			XWPFComment comment = docx.getCommentByID(c.getId());
    			c.setComment(comment.getText())
    				.setAuthor(comment.getAuthor());
    		}
    
    		// 4、释放连接
    		releaseSource();
    
    		// 5、删除本地临时文件
    		deleteTempFile();
    		
    		return comments;
    	}
    
    	/**
    	 *
    	 * 这里一定要释放Word文件的连接,否则临时文件无法删除
    	 * @date 2019-08-28 9:59
    	 * @author weiheng
    	 */
    	private void releaseSource() {
    		try {
    			if(opcPackage != null) {
    				opcPackage.close();
    			}
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    	/**
    	 *
    	 * 删除本地临时文件
    	 * @date 2019-08-27 20:41
    	 * @author weiheng
    	 */
    	private boolean deleteTempFile(){
    
    		boolean flag = false;
    		File file = new File(localOutputFile);
    		if(file.isFile() && file.exists()){
    			flag = file.delete();
    		}
    		return flag;
    	}
    
    	/**
    	 *
    	 * 组装批注引用文本的Map,Map<批注ID, 批注引用的正文>
    	 * @param node Word的XML节点
    	 * @param ids 批注ID集合
    	 * @param values 批注引用的正文文本的集合
    	 * @param comments 要填充批注对象集合
    	 * @date 2019-08-27 13:54
    	 * @author weiheng
    	 */
    	private void fillComments(Node node, LinkedList<String> ids, Map<String, String> values, List<WordComment> comments){
    
    		if(!insureNotNull(node, ids, values, comments)){
    			throw new IllegalArgumentException(new StringBuilder()
    				.append(this.getClass().getName())
    				.append("fillComments(").append(node).append(",")
    				.append(ids).append(",").append(values).append(",")
    				.append(comments).append(")")
    				.toString());
    		}
    		String nodeName = node.getNodeName();
    		// 批注ID
    		String id = ids.isEmpty() ? "" : ids.getFirst();
    		if (BODY_WT.equals(nodeName) && id.length() > 0) {
    
    			// text,批注引用的正文文本 - <id,text>
    			values.put(id, node.getFirstChild().getNodeValue());
    
    		} else if (BODY_PIC.equals(nodeName) && id.length() > 0) {
    
    			// 图片上加的批注信息
    			values.put(id, "[" + getAttribute(node, "name") + "]");
    
    		} else if (BODY_COMMENT_START.equals(nodeName)) {
    
    			// 添加批注ID - 批注引用开始
    			ids.add(getAttribute(node, "w:id"));
    
    		} else if (BODY_COMMENT_END.equals(nodeName) && id.length() > 0) {
    
    			// 批注引用结束,添加信息到map中
    			int size = ids.size();
    			for (int i = 0; i < size ; i++) {
    				String tempId = ids.get(i);
    				if (!tempId.equals(getAttribute(node, "w:id"))) {
    					continue;
    				}
    				WordComment wc = new WordComment()
    									.setId(tempId)
    									.setText(values.get(tempId));
    				if(i != 0){
    					String parentId = ids.get(i-1);
    					wc.setReplyFor(parentId);
    				} else {
    					wc.setReplyFor("");
    				}
    
    				comments.add(wc);
    				commentIndex++;
    			}
    
    
    			// 当前节点所有批注(含回复的批注)都添加了
    			int added = 0;
    			for(WordComment c : comments){
    				if(ids.contains(c.getId())){
    					added++;
    				}
    			}
    			if(added == size){
    				ids.clear();
    				if (commentIndex == maxCommentIndex && ids.isEmpty()) {
    					// 所有批注已经解析完毕
    					commentFilledComplete = true;
    				}
    			}
    		}
    
    		// 是否有子节点,递归遍历
    		if (node.hasChildNodes()) {
    			NodeList temp = node.getChildNodes();
    			for (int i = 0; i < temp.getLength(); i++) {
    				if (commentFilledComplete) {
    					break;
    				}
    				fillComments(temp.item(i), ids, values, comments);
    			}
    		}
    	}
    
    	private String getAttribute(Node node, String attName) {
    		return (node.hasAttributes() && node.getAttributes().getNamedItem(
    			attName) != null) ? node.getAttributes().getNamedItem(attName)
    			.getNodeValue() : null;
    	}
    	
    	/**
    	 *
    	 * 非空校验
    	 * @param objects 随便了
    	 * @return boolean 是否为null
    	 * @date 2019-08-27 13:45
    	 * @author weiheng
    	 */
    	private boolean insureNotNull(Object... objects) {
    		for (Object object : objects) {
    			if (object == null) {
    				return false;
    			}
    		}
    		return true;
    	}
    
    	// 测试
    	public static void main(String[] args) {
    		List<WordComment> comments = new WordCommentsParseUtil().getWordCommentsInfo("http://IP:PORT/文件路径");
    		String separator = ",";
    		for (WordComment c : comments) {
    			System.out.println(c.getId() + separator + c.getText() + separator
    				+ c.getComment() + separator + c.getReplyFor());
    		}
    	}
    }
    

    代码测试结果如下:

    1是针对ID为0的批注的回复,所有这里没有引用的正文内容(2同理,是在1后追加的回复)

    解题思路:

    1、上官网瞅了瞅,发现Word并不像Excel一样有比较详尽的导航(这让我感到惆怅...)

    https://poi.apache.org/components/document/quick-guide-xwpf.html

    2、百度直接搜搜是否有人做过相关功能吧,还真有...

    搜到如下一篇帖子,感觉挺有用的,感谢了

    https://blog.csdn.net/liberalliushahe/article/details/86628870

    大致思路是通过XML的形式解析Word文档,那这就OK了,对照着抄一抄改一改,基本问题已经解决了

    展开全文
  • 期刊论文投稿时,需要在首页左下角编辑收稿日期、作者简介等信息。所提供的Word论文模板中,这块文字上面有一根分隔线,并且这部分内容被独立出来了,那根分隔线无法选中,也没法删除,具体如图1所示。由于之前没...

    期刊论文投稿时,需要在首页左下角编辑收稿日期、作者简介等信息。所提供的Word论文模板中,这块文字上面有一根分隔线,并且这部分内容被独立出来了,那根分隔线无法选中,也没法删除,具体如图1所示。由于之前没接触过这方面的功能的需求,好奇这是什么东西。这既不是普通的“—”加回车键得到的分隔线,也不是页脚。查了很多资料,最后发现,原来这个叫做“脚注”。涨知识了!
    图1
    具体添加方法为:
    1.首先将首页中和其它页面的正文选中排版成双栏,方法选中正文,页面布局—分栏—双栏, 排版成双栏后,
    2.回到首页,正文双栏的左边的一栏,选中左边一栏的第一句,(一定是左边栏的第一句话,也可以是选到这句话中的任意一个标点符号为止,或者是在正文起始处。这一步很重要)
    3.然后点击工具栏中的 引用—脚注,点击右下角的箭头,然后会弹出“脚注和尾注”的对话框,格式中选择“自定义标记”,取第一个空格标记;在(应用更改)将更改应用于的下拦选项中选择“本节”。
    5.最后点击“插入”按键,即可得到带横线独立出来的内容,也即脚注。
    在这里插入图片描述

    参考链接:https://zhidao.baidu.com/question/924747831241020979.html

    展开全文
  • 如何在Word 2010中对文档进行分栏,单栏、双栏混排。添加脚注到双栏的第一栏(首页左下角)。
  • Word 2007敏感信息及存储结构

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

    千次阅读 2018-03-01 21:40:22
    word 高效经典教程(整理版)目录一分钟驾驭word 高效经典教程(整理版)... 6A、基础知识...... 83、删除空行... 84、多处剪切,一处粘贴... 85、文字块的快速、重复录入方法... 96、Word文档超级链接知多...
  • Word“查找替换”删除空行疑难解答

    千次阅读 2009-03-26 15:58:00
    在平时上网过程中,我们经常将网页上有参考价值的文字信息复制到Word中,进行保存打印。但有时从网页复制下来的文字包含许多空行,使得页数居高不下,阅读和打印都很不方便。怎样将Word中的空行删除呢,笔者教你三种...
  • 导入Word文档

    2019-05-28 08:48:14
    导入word文档是把word文档保存到临时的文件夹里,也就是Session里,是以一个word格式保存,再把word文档转化为HTML文件的格式,转换为HTML文件,再通过正则表达式,把想要的筛选出来,删除不必...
  • 使用POI读写Word doc文件  Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示一个word doc文档。在HWPFDocument里面有这么几个概念:  Range:它表示一个范围,...
  • word应用

    千次阅读 2014-02-21 14:28:05
    word骨灰级水平,赶紧留一份来源:武大之星的日志 1.问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉。文件――页面设置――版式――页眉和页脚―...
  • word精髓

    2012-05-18 21:42:57
    word骨灰级水平,赶紧留一份来源:武大之星的日志 1.问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉。文件――页面设置――版式――页眉和页脚――...
  • WORD经典实用!

    千次阅读 2016-07-21 17:30:31
    WORD经典实用!较全面!
  • word2vec算法

    千次阅读 2019-07-01 16:30:54
    word2vec1 算法的基本思想2 举例说明2.1 构造训练数据2.2 数字化表示单词对2.3 定义网络结构2.4 隐藏层2.4 输出层3 直觉的启示4 下篇预告 本文是一篇翻译的文章,原文链接是:...
  • word2vec

    千次阅读 2018-06-25 14:21:51
    前段时间搜索的相关信息并不能减少word2vec给我的神秘感。不过一直好奇会催使你不断搜索新的信息,从而减少自己对其的持续的违和感。抱怨一句,在自认为一天就能搞定的事情上浪费了一个星期还没有彻底搞明白,真的是...
  • word 技巧

    2008-11-17 22:39:00
    问:WORD里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。文件——页面设置——版式——页眉和页脚——首页不同问:请问word中怎样让每一章用不同的页眉?怎么我...
  • word笔记整理

    千次阅读 2016-12-07 20:09:53
    段落是文章中最基本的单位,以段落标记作为标识,在文章中用于体现作者的思路发展或全篇文章的层次; 设置项目符号与编号: 选中要设置的文本----“开始”选项卡-----“段落”组-----项目符号/编号 项目符号的...
  • 使用POI读取word文档内容

    万次阅读 2017-05-14 22:59:33
    1.1 通过WordExtractor读文件(在WordExtractor内部进行信息读取时还是通过HWPFDocument来获取的。) 1.2 通过HWPFDocument读文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们...
  • Word的域应用

    千次阅读 2019-08-10 16:19:24
    WORD是文字处理软件,我们在日常处理一些文字时经常遇到一些问题,如:各种公式的录入,尽管Word都提供了“公式编辑器”,但其插入的却是“对象”,有时排版会感觉不方便,而且也不适合大量、重复的公式录入。...
  • PHPWord的使用

    千次阅读 2018-07-13 12:19:53
    PHP导出word文档,可实现自动分页,可插入图片,表格。 1、下载PHPWord  (1)使用composer:  "require":{  "phpoffice/phpword": "v0.14.*"  }  (2)GitHub:点击打开...
  • 使用POI读写Word

    千次阅读 2016-09-19 18:19:52
    1 读word doc文件 1.1 通过WordExtractor读文件 1.2 通过HWPFDocument读文件 2 写word doc文件    Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示...
  • word编辑技巧

    千次阅读 2010-05-10 18:04:00
    1.2 编辑排版技巧(1)1.2.1 页面设置快速进行调整要对Word进行页面调整,通常大家采用的方法是选择“文件→页面设置”选项的方法进行,请问有没有更快速方便的方法呢?答:有,如果要进行“页面设置”,只需用鼠标...
  • [深度学习] 一篇文章理解 word2vec

    千次阅读 2019-01-03 16:21:26
    另一个参数叫num_skips,它代表着我们从整个窗口中选取多少个不同的词作为我们的output word,当skip_window=2,num_skips=2时,我们将会得到两组 (input word, output word) 形式的训练数据,即 ('dog', 'barked')...
  • Word 2003域应用完全手册

    千次阅读 2014-01-24 19:50:08
     简单地讲,域就是引导Word在文档中自动插入文字、图形、页码或其他信息的一组代码 。每个域都有一个唯一的名字,它具有的功能与Excel中的函数非常相似。下面以Seq和Dat e域为例,说明有关域的一些基本概念。 ...
  • latex与word比较

    千次阅读 2012-08-25 17:56:49
    LaTeX 与 Word 是两种不同类型的文本编辑处理系统,各有所长,如果要对文字编辑性能和使用便捷程度等作综合评比,Word 明显优于 LaTeX,仅“所见即所得”一项,Word 就会赢得绝大多数用户,但要仅限定在学术报告和...
  • 程序员的用户界面设计手册1-9章(作者: Joel Spolsky 译: 梅普华 MSWord繁简转换) http://chinesetrad.joelonsoftware.com/uibook/chapters/1.html程序员的用户界面设计手册第1章: 控制你的环境使你快乐 作者: Joel ...
  • 深度学习:词嵌入之word2vec

    千次阅读 2017-07-26 15:24:57
    word2vec简介 深度学习在自然语言处理中第一个应用:训练词嵌入。Google 的 Tomas Mikolov 在《Efficient Estimation of Word Representation in Vector Space》和《Distributed ...
  • 文章目录内容介绍福利Word 文档操作Word 文档编辑Word 文档格式Word 图文混排 内容介绍 对于数据分析师来说,日常工作最重要的环节不是敲代码,做题述师和调参侠,本身忽略了一项工作就是做 文字性的报告 内容。熟练...
  • poi使用模板导出word带图片

    千次阅读 2016-11-15 16:17:05
    1.下面是我做的加载模板导出带图片的word的导出方式,使用之前请映入freemarker的jar包,可以从百度下载即可。 2.首先准备到你要导出的word模板,在要填充的模板中填入el表达式,如下图所示。 XXXX公司招聘高校毕业...
  • word题库!

    千次阅读 2007-05-12 21:12:00
    adv_username = "makemoney1";adv_gid = "makemoney1_default";adtype = "728x90"; word全真试题库 1 试述如何在窗口中打开“艺术字”工具栏。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,829
精华内容 10,331
关键字:

如何删除word作者信息