【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就可以处理微软家的文档,甚至包括 ...
随机推荐
- 从CPU缓存看缓存的套路
一.前言 不同存储技术的访问时间差异很大,从 计算机层次结构 可知,通常情况下,从高层往底层走,存储设备变得更慢.更便宜同时体积也会更大,CPU 和内存之间的速度存在着巨大的差异,此时就会想到计算机科 ...
- 解决 webpack .\src\main.js .\dist\bundle.js 错误
打包的命令格式:webpack 要打包的文件的路径 打包好的输出文件的路径 栗子: webpack .\src\main.js .\dist\bundle.js 提示错误,错误信息如下: 错误原因 w ...
- 网络端口及nmap扫描
端口: 计算机与外界交流的出口,在渗透测试当中常用的端口号: 21号端口FTP:文件传输协议 23号端口Telent :远程登录接口 53号端口 DNS: 域名端口 80号端口HTTP:超文本传输协议 ...
- 超详细的 Vagrant 上手指南
搭建 Linux 虚拟机,别再用 VirtualBox 从 .iso 文件安装了. 概述 2020 年了,也许你已经习惯了 docker,习惯了在 XX 云上快速创建云主机,但是如果你想在个人电脑上安 ...
- Python-通过实例方法调用-统一接口的实现-getter methodcaller
某项目中,我们的代码使用的2个不同库中的图形类: Circle,Triangle 这两个类中都有一个获取面积的方法接口,但是接口的名字不一样 统一这些接口,不关心具体的接口,只要我调用统一的接口,对应 ...
- MFC与QT区别
转载 https://www.cnblogs.com/forever5325/p/9597649.html QT使用的编译器是MinGW,即Linux下的GCC移植到windows的版本:MFC使用 ...
- Excel-VLOOKUP函数跨表匹配查找①
问题场景 对表中的员工进行测评总结,从所有员工考核明细表中匹配这些参与测评的员工的得分和相关信息: 场景一 从所有员工明细表中匹配需要参与测评的员工相关信息. 建了两个sheet页,考核员工表和全员考 ...
- javascript 数据类型判断总结
一 typeof 回顾:js有五种基本数据类型:值类型("number","string","boolean","undefine ...
- 怎么快速从产品助理/初级 PM 成长为高级 PM?
一般想成为一枚产品经理的同学,如果没有经过系统的学习,都是从产品专员/助理开始做起的~ 那要想快速从产品助理/初级 PM 成长为高级 PM,以下这几点必不可少 直接上干货~ 全文篇幅较长,可以点赞收藏 ...
- Jenkins从节点上构建自动化测试项目时报错:java.io.IOException: Unexpected termination of the channel
在mac电脑上配置了Jenkins从节点,在该从节点上构建app UI 自动化测试项目,运行一些用例后报如下错误: java.io.EOFException at java.io.ObjectInpu ...
