【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就可以处理微软家的文档,甚至包括 ...
随机推荐
- 【Java并发编程】面试常考的ThreadLocal,超详细源码学习
目录 ThreadLocal是啥?用来干啥? ThreadLocal的简单使用 ThreadLocal的实现思路? ThreadLocal常见方法源码分析 ThreadLocal.set(T valu ...
- GameObject的==的一个坑和一点GameObject的内部构造
一切都是因为==,才有了这篇博客 目录 测试 结果和分析 总结 测试 先放一段unity的一个普通的脚本 using UnityEngine; public class UnityEngineObje ...
- ucore操作系统学习笔记(一) ucore lab1系统启动流程分析
一.ucore操作系统介绍 操作系统作为一个基础系统软件,对下控制硬件(cpu.内存.磁盘网卡等外设),屏蔽了底层复杂多样的硬件差异:对上则提供封装良好的应用程序接口,简化应用程序开发者的使用难度.站 ...
- 基础篇:JAVA内部类的使用介绍
目录 1 四种内部类 2 内部类的使用场景和优点 3 成员内部类 4 成员内部类的访问范围详解 5 静态内部类 6 局部内部类 7 匿名内部类 欢迎指正文中错误 关注公众号,一起交流 参考文章 1 四 ...
- Blend学习之Loading加载动画
介绍: Blend for visual studio 与 visual studio 是有区别的 两者虽然是IDEA 但是专注的方向是不同的,前者是专注UI后者专注业务逻辑,当然你要用blend f ...
- 027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑“与”运算符
027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑"与"运算符 本文知识点:Java中的逻辑"与"运算符 逻辑运 ...
- python数据结构之二叉树的建立实例
先建立二叉树节点,有一个data数据域,left,right 两个指针域 # coding:utf-8 class TreeNode(object): def __init__(self,left=N ...
- 【题解】「MCOI-02」Convex Hull 凸包
题目戳我 \(\text{Solution:}\) \[\sum_{i=1}^n \sum_{j=1}^n \rho(i)\rho(j)\rho(\gcd(i,j)) \] \[=\sum_{d=1} ...
- ASP。NET Web表单模型,部分呈现和事件
下载EventExample.zip - 41.33 KB 下载EventandAjaxExample.zip - 41.94 KB 介绍 通过参考ASP获得Web应用程序环境及其约束的概述.NET ...
- RHSA-2018:0151-重要: 内核 安全和BUG修复更新(需要重启、存在EXP、本地提权)
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...
