使用poi操作word文档实现套打功能
本文目的是为了分享一个实现套打功能,但是不同于简单的word的文本替换而是采用poi对word的文本框就行操作实现的功能:
- poi中各种jar的说明
- 套打的实现思路
- poi操作word文本框中的数据
- *代码实现
POI各个jar的说明以及本文使用jar包
这里引用一个表格,只要看一下这个表格就知道自己需要哪个jar包了,本文中需要引入的是如下几个jar包(maven项目导入方式)。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.1</version>
</dependency>
<!-- word poi-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.9</version>
</dependency>
| 项目 | 价格 |
|---|---|
| Computer | $1600 |
| Phone | $12 |
| Pipe | $1 |
可以使用冒号来定义对齐方式:
| Component | Application type | Maven artifactId | Notes |
|---|---|---|---|
| POIFS | OLE2 Filesystem | poi | Required to work with OLE2 / POIFS based files |
| HPSF | OLE2 | Property Sets | poi |
| HSSF | Excel XLS | poi | For HSSF only, if common SS is needed see below |
| HSLF | PowerPoint | PPT | poi-scratchpad |
| HWPF | Word DOC | poi-scratchpad | |
| HDGF | Visio VSD | poi-scratchpad | |
| HPBF | Publisher PUB | poi-scratchpad | |
| HSMF | Outlook MSG | poi-scratchpad | |
| OpenXML4J | OOXML | poi-ooxml | plus one of |
| poi-ooxml-schemas | ooxml-schemas | Only one schemas jar is needed, see below for differences | |
| XSSF | Excel XLSX | poi-ooxml | |
| XSLF | PowerPoint PPTX | poi-ooxml | |
| XWPF | Word DOCX | poi-ooxml | |
| Common SS | Excel XLS and XLSX | poi-ooxml | WorkbookFactory and friends all require poi-ooxml, not just core poi |
套打实现思路
既然是套打,那么打印的文本一定有一个固定的格式,如果通过前端的html的css去控制,那么有个问题就是可能出现预留长度不够那么打印出来的排版就会出现问题,如果使用word文档的空格和tab去实现格式,然后用打印的文本去替换模板文件中的内容也同样会出现css一样的问题,那现在有一个方法就是将需要打印的内容放到word文档的文本框中,不管预留的长度是否足够,都不会出现整个布局乱套的问题,因为word文档中的文本框的布局是固定的。有可能有人会问,这么简单不就直接使用replaceText就可以替换了么?那就很可能是因为你小看了word的文本框。

最低0.47元/天 解锁文章
4668

被折叠的 条评论
为什么被折叠?



