Java 添加、读取、修改、删除Word文档属性
Word文档属性包括常规、摘要、统计、内容、自定义等,其中摘要包括标题、主题、作者、经理、单位、类别、关键词、备注等项目,通过设置这些摘要信息或自定义属性可方便对文档的管理。本文中将主要介绍对文档摘要信息的添加,以及读取或者编辑、删除文档中已设置的摘要信息或自定义文档信息。下面将通过Java代码详细介绍。
使用工具:Free Spire.Doc for Java (免费版)
Jar文件获取及导入:
方法1:通过官网下载。下载后,解压,将lib文件夹下的Spire.Doc.jar文件导入java程序。
方法2:通过maven安装导入。
【添加Word文档属性】
import com.spire.doc.*;
import java.sql.Date;
import java.time.Clock;
import java.time.LocalDate; public class AddDocumentProperty {
public static void main(String[] args){
//加载测试文档
Document doc = new Document("test.docx"); //设置内置文档属性
doc.getBuiltinDocumentProperties().setTitle("操作手册");
doc.getBuiltinDocumentProperties().setSubject("Word文档");
doc.getBuiltinDocumentProperties().setCategory("A类");
doc.getBuiltinDocumentProperties().setCompany("Alibaba");
doc.getBuiltinDocumentProperties().setManager("Jamy");
doc.getBuiltinDocumentProperties().setAuthor("LiuHan");
doc.getBuiltinDocumentProperties().setKeywords("操作手册,说明书,要件");
doc.getBuiltinDocumentProperties().setComments("此文档仅供内部使用");
doc.getBuiltinDocumentProperties().setCreateDate(Date.valueOf(LocalDate.of(2019,7,1)));
doc.getBuiltinDocumentProperties().setLastSaveDate(Date.valueOf(LocalDate.now(Clock.systemUTC())));
doc.getBuiltinDocumentProperties().setRevisionNumber("2"); //设置自定义文档属性
doc.getCustomDocumentProperties().add("文档创建级别","B级");
doc.getCustomDocumentProperties().add("行政文件否","否"); //保存文档
doc.saveToFile("SetProperty.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
属性添加效果:
【读取Word文档属性】
import com.spire.doc.*; public class ReadDocumentProperty {
public static void main(String[]args){
//加载文档
Document doc = new Document("SetProperty.docx"); //读取内置文档属性
System.out.println("标题: " + doc.getBuiltinDocumentProperties().getTitle());
System.out.println("主题: " + doc.getBuiltinDocumentProperties().getSubject());
System.out.println("作者: " + doc.getBuiltinDocumentProperties().getAuthor());
System.out.println("单位: " + doc.getBuiltinDocumentProperties().getCompany());
System.out.println("主管: " + doc.getBuiltinDocumentProperties().getManager());
System.out.println("类别: " + doc.getBuiltinDocumentProperties().getCategory());
System.out.println("关键字:" + doc.getBuiltinDocumentProperties().getKeywords());
System.out.println("备注: " + doc.getBuiltinDocumentProperties().getComments()); //获取自定义文档属性
DocumentProperty property = doc.getCustomDocumentProperties().get(0);
//读取自定义文档属性的名称和值
System.out.println("名称: " + property.getName());
System.out.println("值: " + property.getValue());
}
}
文档属性读取结果:
【修改/删除文档属性】
import com.spire.doc.*; public class RemoveDocumentProperty {
public static void main(String[] args) {
//加载文档
Document doc = new Document();
doc.loadFromFile("SetProperty.docx"); //直接通过为内置属性赋值新的内容,修改原有摘要信息
doc.getBuiltinDocumentProperties().setTitle("说明书");
doc.getBuiltinDocumentProperties().setSubject("测试使用");
doc.getBuiltinDocumentProperties().setCategory("B类");
doc.getBuiltinDocumentProperties().setCompany("保密"); //设置内置属性值为空,删除原有摘要信息
doc.getBuiltinDocumentProperties().setManager("");
doc.getBuiltinDocumentProperties().setAuthor("");
doc.getBuiltinDocumentProperties().setKeywords("");
doc.getBuiltinDocumentProperties().setComments("");
doc.getBuiltinDocumentProperties().setRevisionNumber(""); //通过方法删除指定属性内容
doc.getCustomDocumentProperties().remove("文档创建级别");
doc.getCustomDocumentProperties().remove("行政文件否"); //保存文档
doc.saveToFile("RemoveProperty.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
修改/删除结果:
(本文完)
Java 添加、读取、修改、删除Word文档属性的更多相关文章
- Java 添加、读取、删除PPT文档属性
文档属性是一些描述性的信息,它未包含在文件的实际内容中,但提供了有关文件的信息,可用来帮助查找和整理文件.以下示例中将介绍通过Java程序来添加PPT文档属性.读取.删除PPT文档中已有属性的方法. ...
- Java 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删 ...
- C# 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等 ...
- Java 添加超链接到Word文档
对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接可以分为文本超链接,图像超链接,E-mail链 ...
- Java 用Freemarker完美导出word文档(带图片)
Java 用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...
- Java jacob调用打印机打印word文档
前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...
- 微信公众号怎么添加附件?比如word文档,pdf文件等
微信公众号怎么添加附件?比如word文档,pdf文件等 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众 ...
- Java导出freemarker实现下载word文档格式功能
首先呢,先说一下制作freemarker模板步骤, 1. 在WPS上写出所要的下载的word格式当做模板 2. 把模板内不固定的内容(例:从数据库读取的信息)写成123或者好代替的文字标注 3. 把固 ...
- 使用Java POI来选择提取Word文档中的表格信息
通过使用Java POI来提取Word(1992)文档中的表格信息,其中POI支持不同的ms文档类型,在具体操作中需要注意.本文主要是通过POI来提取微软2003文档中的表格信息,具体code如下(事 ...
随机推荐
- 品优购(IDEA版)-第一天
# 品优购(IDEA版)-第一天 品优购IDEA版应该是2019年的新项目.目前只有视频.资料其他都还是旧的. ## 1.学习目标 1:了解电商行业特点以及理解电商的模式 2:了解整体品优购的架构特点 ...
- kubernetes实战(二十七):CentOS 8 二进制 高可用 安装 k8s 1.16.x
1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭 ...
- Connection activation failed Device not managed by NetworkManager
1)查看NetworkManager服务是否启动 ps aux |grep NetworkManager 使用service NetworkManager start 命令启动该网络管理程序 2) 一 ...
- MySQL存储引擎简介-MyISAM和InnoDB的区别
上篇文章<MySql逻辑结构简介>我们聊到了存储引擎,可以说MySQL可插拔的多元化存储引擎给我们的使用者带来了很灵活的选择. 这篇文章我们来聊一下目前主流的两种存储引擎MyISAM和In ...
- JVM三部曲之运行时数据区 (第一部)
在接下来的几天想总结下,JVM相关的一些内容,比如下面的这三个内容算是比较核心知识点了 1.运行时数据区域: 在运行时数据区里存储类Class文件元数据(方法区),对象和数组(堆),方法参数局部变量( ...
- Topshelf+Quartz在.Net Core框架下的实现
在我们日常开发工作中,经常会运用到Quartz+Topshelf组件的组合来开发一些定时任务.那么在.Net Core下如何去使用呢?我自己尝试搭建了一个测试项目,过程中遇到了以下一些问题: Quar ...
- [系列] Go gRPC 调试工具
目录 概述 写一个 gRPC API grpcui 使用 go-gin-api 系列文章 概述 最近这段时间工作挺忙的,发现已经 3 周没更文了... 感谢你们还在,今天给大家分享一款 gRPC 的调 ...
- Data Deduplication Workflow Part 1
Data deduplication provides a new approach to store data and eliminate duplicate data in chunk level ...
- [BZOJ] DZY Loves Math 系列 I && II
为了让自己看起来有点事干 ,做个套题吧..不然老是东翻翻西翻翻也不知道在干嘛... \(\bf 3309: DZY \ Loves \ Math\) 令 \(h=f*\mu\) 很明显题目要求的就是\ ...
- CSPS模拟 62
婚礼现场系列 T1 $gragh$ 为了方便把边的贡献下放到点,跑一个生成树作为划分依据. T2 $permutation$ 由于在本题中,构造的变换方法保证只能邻项交换 所以如果位置串字典序变小,权 ...