【玩转PDF】贼稳,springcloud从入门到精通教程

org.projectlombok

lombok

true

根据PDF模板生成文件和拼接产品的数据

/**

  • 根据PDF模板生成PDF文件

  • @return

*/

@GetMapping(“generatePdf”)

public String generatePdf() throws Exception{

// File file = ResourceUtils.getFile(“classpath:”+SAVE_PATH);

File pdfFile = new File(ResourceUtils.getURL(“classpath:”).getPath()+SAVE_PATH);

try {

PdfReader pdfReader;

PdfStamper pdfStamper;

ByteArrayOutputStream baos;

Document document = new Document();

//

PdfSmartCopy pdfSmartCopy = new PdfSmartCopy(document,

new FileOutputStream(pdfFile));

document.open();

File file = ResourceUtils.getFile(“classpath:”+templatePath);

pdfReader = new PdfReader(file.getPath());

int n = pdfReader.getNumberOfPages();

log.info(“页数:”+n);

baos = new ByteArrayOutputStream();

pdfStamper = new PdfStamper(pdfReader, baos);

for(int i = 1; i <= n; i++) {

AcroFields acroFields = pdfStamper.getAcroFields();

//key statement 1

acroFields.setGenerateAppearances(true);

//acroFields.setExtraMargin(5, 5);

acroFields.setField(“customerAddress”, “上海市浦东新区田子路520弄1号楼”);

acroFields.setField(“customerCompanyName”, “上海百度有限公司”);

acroFields.setField(“customerName”, “张三”);

acroFields.setField(“customerPhone”, “15216667777”);

acroFields.setField(“customerMail”, “123456789@sian.com”);

acroFields.setField(“vendorAddress”, “上海市浦东新区瑟瑟发抖路182号”);

acroFields.setField(“vendorCompanyName”, “牧小农科技技术有限公司”);

acroFields.setField(“vendorName”, “王五”);

acroFields.setField(“vendorPhone”, “15688886666”);

acroFields.setField(“vendorMail”, “123567@qq.com”);

acroFields.setField(“effectiveStartTime”, “2021年05月25”);

acroFields.setField(“effectiveEndTime”, “2022年05月25”);

//true代表生成的PDF文件不可编辑

pdfStamper.setFormFlattening(true);

pdfStamper.close();

pdfReader = new PdfReader(baos.toByteArray());

pdfSmartCopy.addPage(pdfSmartCopy.getImportedPag

  • 22
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值