java 生成pdf或word

文章介绍了如何使用Java和相关库如iText和ApachePOI来生成PDF结算单,包括创建表格、循环数据和处理文件操作。同时,还展示了如何根据模板动态生成Word文档,例如入库模板,实现数据的批量导入。

单纯的一次记录,方便寻找。

生成pdf

效果预览

引入依赖

  <!--pdf itext 的jar依赖  -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.1.1</version>
        </dependency>

关键代码(生成pdf,含表格循环)

/**
	  * 生成结算单pdf
	  *
	  * @param folderName  生成文件的文件夹名称
	  * @param fileName    生成文件的全路径文件名
	  * @param titleName   文件内容标题
	  * @param contentName 文件内容
	  * @param data        文件表格数据
	  * @return
	  */
	 @ApiOperation(value = "导出PDF")
	 @PostMapping("/pdf")
	 public File generatePdf() {//参数可自行定义
		 try {
			 //页面大小
			 Rectangle rect = new Rectangle(PageSize.A4);
			 //创建文档对象
			 Document document = new Document(rect, 60, 60, 30, 30);
			 File folderFile = new File("folderName");
			 if (!folderFile.exists()) {
				 log.info("准备创建文件夹. ");
				 folderFile.mkdirs();// 如果不存在,创建目录
				 log.info("成功创建文件夹. ");
			 }
			 //设置输出流
			 PdfWriter.getInstance(document, new FileOutputStream("计量入库.pdf"));
			 /*************************** begin **************************************/
			 document.open();

			 // 本地调试用这个字体
			 Bas
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值