【Aspose.Words for Java】 对word文档,增加页眉,页脚,插入内容区图像,
一、环境准备
- jar包:aspose-words-20.4.jar
或者去官方网站下载:
官方网站:https://www.aspose.com/
下载地址:https://downloads.aspose.com/words/java/new-releases/aspose.words-for-java-20.10
不过官方有水印等,需要破解,自行到百度下载
1、 导入idea开发工具,maven中pom.xml
由于Aspose是商业工具,工具包在Aspose 官方私有Maven存储库中托管所有Java API 。您可以通过简单的配置在Maven项目中轻松地直接使用Aspose.Words for Java API
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>
2、然后再次导入jar包
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.6</version>
<classifier>jdk17</classifier>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.6</version>
<classifier>javadoc</classifier>
</dependency>
</dependencies>
二、开始功能演示
String Newdir = "D:\\data\\img_leian\\";
// Document 可接收本地路径,同时也可以接收InputStream 流,【web项目中可通过ClassPathResource对象进行读取项目下的文件】
// Document doc = new Document(Newdir+"analysis_report_001.docx");
Document doc = new Document();
// 文档构建工具类,可对当前加入的模板进行编辑、新增等部分功能。
DocumentBuilder builder = new DocumentBuilder(doc);
// 1、开始插入页眉
// 将光标移动到页眉位置
builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);
String imageFileName = Newdir + "header.png";
builder.insertImage(imageFileName, RelativeHorizontalPosition.MARGIN, 0, RelativeVerticalPosition.TOP_MARGIN, 44, 97, 27, WrapType.THROUGH);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);
// 添加页眉线
Border borderHeader = builder.getParagraphFormat().getBorders().getBottom();
borderHeader.setShadow(true);
borderHeader.setDistanceFromText(22);
borderHeader.setLineStyle(LineStyle.SINGLE);
// 2、开始插入页脚
// 将光标移动到页脚位置
builder.moveToHeaderFooter(HeaderFooterType.FOOTER_PRIMARY);
// 添加页脚线
Border borderFooter = builder.getParagraphFormat().getBorders().getTop();
borderFooter.setDistanceFromText(0);
borderFooter.setLineStyle(LineStyle.SINGLE);
// 设置页脚边距
builder.getPageSetup().setHeaderDistance(36.9);
builder.getPageSetup().setFooterDistance(49);
Paragraph paragraph = builder.insertParagraph();
Run run = new Run(doc,"声明:本demo是由,穷也不能穷山东思密达创建辅助生成,仅供辅助之用,不代表俺个人的的任何倾向和立场。");
run.getFont().setSize(7.5);
run.getFont().setName("宋体");
paragraph.appendChild(run);
// 3、开始插入内容
builder.moveToDocumentStart();
Paragraph paragraph13 = builder.insertParagraph();
paragraph13.appendChild(new Run(doc,"开士大夫就解放军的解放的经济纠纷的附件发动机发电机房看得开"));
// 4、开始插入二维码图片【这里暂时用图像替代】
// 将光标移动到文档内的末尾。
builder.moveToDocumentEnd();
builder.writeln();
Shape shape = builder.insertImage(Newdir+"QRCodeImage.png",100,100);
shape.setBehindText(false);
shape.setWrapType(WrapType.NONE);
// 进行水平居中
shape.setHorizontalAlignment(HorizontalAlignment.CENTER);
shape.setVerticalAlignment(VerticalAlignment.CENTER);
// 5、将生成后的文档进行保存,注:save方法,可以保存到OutputStream中,可用于响应给前端,生成下载文件
doc.save(Newdir+ "Shape_InsertShapeUsingDocumentBuilder_out.docx");
三、生成后的文档截图
页眉加内容部分

页脚部分

【Aspose.Words for Java】 对word文档,增加页眉,页脚,插入内容区图像,的更多相关文章
- java对word文档的操作(提取标题和内容等)-直接操作或poi工具包或freemarker+xml或html转word
1,java自带工具包实现对word的排版和写入 import java.awt.Color; import java.io.FileNotFoundException; import java.io ...
- 使用Java生成word文档(附源码)
当我们使用Java生成word文档时,通常首先会想到iText和POI,这是因为我们习惯了使用这两种方法操作Excel,自然而然的也想使用这种生成word文档.但是当我们需要动态生成word时,通常不 ...
- Java复制Word文档
Microsoft Word 提供了许多易于使用的文档操作工具,同时也提供了丰富的功能集供创建复杂的文档使用.在使用的时候,你可能需要复制一个文档里面的内容到另一个文档.本文介绍使用Spire.Doc ...
- 使用Aspose.word (Java) 填充word文档数据(包含图片填充)
Aspose填充word数据 本文介绍了如何使用aspose进行word文档的生成,并提供了工具类供参考. 有问题欢迎 call 微信:905369866,小弟尽力而为..毕竟这玩意没吃透. 目录 A ...
- Java解析word文档
背景 在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何解析word文档. 因为系统如果无法智能的解析word,那么就只能通过其他方式手动录入word内容,效率低下,而且人工成本和录入出错率 ...
- ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例
Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,它提供的原生API可以对Word.Excel.PDF.Powerpoint.Outlook.CAD.图片.3D.ZI ...
- poi读写word模板 / java生成word文档
有一word文档表格 形如: 姓名 ${name} 电话 ${tel} 从数据库读取记录替换上述变量 import java.io.FileOutputStream; import java.util ...
- Java生成 Word文档的并打印解决方案
户要求用程序生成标准的word文档,要能打印,而且不能变形,以前用过很多解决方案,都在客户严格要求下牺牲的无比惨烈. POI读word文档还行,写文档实在不敢恭维,复杂的样式很难控制不提,想象一下一个 ...
- Java生成word文档
itext-rtf-2.1.7.jar,下载地址:http://download.csdn.net/detail/xuxu198899223/7717727 itext-2.1.7.jar 下载地址: ...
- [Java] Java读取Word文档
前言 最近需要做一些NLP 方面的工作,使用的是Java,在此总结一下使用Java读取Word(.doc)格式文件的方法. Apache基金会非常厉害,开源工具包POI就可以处理微软家的文档,甚至包括 ...
随机推荐
- 登陆页跳出iframe
1 if(top.location.href != location.href){ 2 top.location.href = location.href; 3 }
- CTFshow_Web入门源码
Web1 题目打开始是这样的 直接看源码 Web2 题目打开是这样的,右键无法打开菜单,无法查看源码,F12也不可以 更改JavaScript权限,即可查看源码 Web3 真就抓个包看看 Web4 访 ...
- 如何用5000行JS撸一个关系型数据库
首先声明,我不是标题党,我真的是用5000行左右的JS实现了一个轻量级的关系型数据库JSDB,核心是一个SQL编译器,支持增删改查. 源代码放到github上了:https://github.com/ ...
- 054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述
054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级 ...
- 021 01 Android 零基础入门 01 Java基础语法 03 Java运算符 01 赋值运算符
021 01 Android 零基础入门 01 Java基础语法 03 Java运算符 01 赋值运算符 本文知识点:Java中的赋值运算符 赋值运算符 赋值运算符从右往左运算 赋值运算符左边不能是常 ...
- 02 sublime text3下配置Python的编译运行环境
内容参考如下文章,加入了自己的干货: https://www.cnblogs.com/huluwahaha/p/7503930.html 在sublime中如何配置Python的编译环境呢? 打开Su ...
- matlab中floor 朝负无穷大四舍五入
来源:https://ww2.mathworks.cn/help/matlab/ref/floor.html?searchHighlight=floor&s_tid=doc_srchtitle ...
- SpringSecurity原理
一.认证的两种方式的介绍 1. 基于Session的认证方式 在之前的单体架构时代,我们认证成功之后都会将信息存入到Session中,然后响应给客户端的是对应的Session中数据的key,客户端会将 ...
- 2018年10月份编程语言排行榜(来自TIOBE Index for October 2018)
TIOBE Index for October 2018 from:https://www.tiobe.com/tiobe-index// October Headline: Swift is kno ...
- Springboot集成JUnit5优雅进行单元测试
为什么使用JUnit5 JUnit4被广泛使用,但是许多场景下使用起来语法较为繁琐,JUnit5中支持lambda表达式,语法简单且代码不冗余. JUnit5易扩展,包容性强,可以接入其他的测试引擎. ...
