一、环境准备

不过官方有水印等,需要破解,自行到百度下载

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文档,增加页眉,页脚,插入内容区图像,的更多相关文章

  1. java对word文档的操作(提取标题和内容等)-直接操作或poi工具包或freemarker+xml或html转word

    1,java自带工具包实现对word的排版和写入 import java.awt.Color; import java.io.FileNotFoundException; import java.io ...

  2. 使用Java生成word文档(附源码)

    当我们使用Java生成word文档时,通常首先会想到iText和POI,这是因为我们习惯了使用这两种方法操作Excel,自然而然的也想使用这种生成word文档.但是当我们需要动态生成word时,通常不 ...

  3. Java复制Word文档

    Microsoft Word 提供了许多易于使用的文档操作工具,同时也提供了丰富的功能集供创建复杂的文档使用.在使用的时候,你可能需要复制一个文档里面的内容到另一个文档.本文介绍使用Spire.Doc ...

  4. 使用Aspose.word (Java) 填充word文档数据(包含图片填充)

    Aspose填充word数据 本文介绍了如何使用aspose进行word文档的生成,并提供了工具类供参考. 有问题欢迎 call 微信:905369866,小弟尽力而为..毕竟这玩意没吃透. 目录 A ...

  5. Java解析word文档

    背景 在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何解析word文档. 因为系统如果无法智能的解析word,那么就只能通过其他方式手动录入word内容,效率低下,而且人工成本和录入出错率 ...

  6. ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例

    Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,它提供的原生API可以对Word.Excel.PDF.Powerpoint.Outlook.CAD.图片.3D.ZI ...

  7. poi读写word模板 / java生成word文档

    有一word文档表格 形如: 姓名 ${name} 电话 ${tel} 从数据库读取记录替换上述变量 import java.io.FileOutputStream; import java.util ...

  8. Java生成 Word文档的并打印解决方案

    户要求用程序生成标准的word文档,要能打印,而且不能变形,以前用过很多解决方案,都在客户严格要求下牺牲的无比惨烈. POI读word文档还行,写文档实在不敢恭维,复杂的样式很难控制不提,想象一下一个 ...

  9. Java生成word文档

    itext-rtf-2.1.7.jar,下载地址:http://download.csdn.net/detail/xuxu198899223/7717727 itext-2.1.7.jar 下载地址: ...

  10. [Java] Java读取Word文档

    前言 最近需要做一些NLP 方面的工作,使用的是Java,在此总结一下使用Java读取Word(.doc)格式文件的方法. Apache基金会非常厉害,开源工具包POI就可以处理微软家的文档,甚至包括 ...

随机推荐

  1. PHP代码审计学习(1)

    全局变量与超全局变量 $GLOBALS $GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问,$GLOBALS 是一个包含了全部变量的全局组合数组.变量的名字就是数 ...

  2. pormise和async

    pormise 1.异步问题 假设现在我刚认识你,需要和你说话,但是我普通话不够标准,需要间隔一秒钟才能说一句话,以此让你可以慢慢思考.这样的话我们就需要用到定时器. 最沙雕的代码如下: setTim ...

  3. MySQL中的find_in_set()函数使用技巧心得与应用场景总结

    Author:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,CSDN官方首发原创文章 企业博客 CSDN.com 个人博 ...

  4. vsCode 搭建Java开发环境

    1.安装扩展 Java Extension Pack Spring Boot Extension Pack 2.配置Maven 打开设置 搜索maven 找到并打开  在 settings.json ...

  5. IPSecVPN介绍 & (Cisco Packet Tracer)IPSecVPN实验演示

    一.基础知识 VPN(Virtual Private Network)虚拟专有网络,即虚拟专网.VPN可以实现在不安全的网络上,安全的传输数据,好像专网!VPN只是一个技术,使用PKI技术,来保证数据 ...

  6. 日志分析平台ELK之搜索引擎Elasticsearch集群

    一.简介 什么是ELK?ELK是Elasticsearch.Logstash.Kibana这三个软件的首字母缩写:其中elasticsearch是用来做数据的存储和搜索的搜索引擎:logstash是数 ...

  7. 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...

  8. 编程体系结构(06):Java面向对象

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础概念 1.面向对象概念 面向对象编程的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一 ...

  9. Jmeter之『如果(If)控制器』

    判断方法 ${__jexl3("${projectName}"=="${targetDir}",)} ${__groovy("${projectNam ...

  10. 匿名内部类和Lambda表达式是一样的吗?

    先看一下匿名内部类长什么样子: 1 package com.jvm.demo.test2; 2 3 public class InnerClassTest { 4 5 public static vo ...