# java-pdf **Repository Path**: lichengrong/java-pdf ## Basic Information - **Project Name**: java-pdf - **Description**: PDF插入数据、插入图片、签电子签章 - **Primary Language**: Unknown - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2022-03-24 - **Last Updated**: 2022-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 测试结果 - 功能描述:给pdf文件中的表单插入数据、插入图片、签电子签章,图片插入时会根据表单域的大小自动调节图片大小 # 设计思路 - builder模式 # 使用方法 > 项目中导入包 ```java ``` > 使用 ``` Java @Autowired PdfService pdfService; // 默认 @Test public void signTest() throws Exception { byte[] b = pdfService.getPdfbytes(); System.out.println(); } // 配置不同参数 @Test public void paramsTest() throws Exception { PdfProperties pdfProperties = new PdfProperties(); // 以下参数 可配置在application配置文件中 pdfProperties.setTemplate("pdf/template_test.pdf");//模板必填 pdfProperties.setParams(getData());// 参数map必填 // pdfProperties.setFont();//字体非必填 // pdfProperties.setFontSize();//字号非必填 // pdfProperties.setSignImg();//签名图片,三要素之一 // pdfProperties.setKey();//签名证书,三要素之一 // pdfProperties.setPassword();//证书密码,三要素之一 // pdfProperties.setImgs();//图片填充必填 图片参数需为base64字符串 byte[] b = pdfService.getPdfbytes(pdfProperties); } // 测试数据 public Map getData() { Map params = new HashMap(); params.put("Text1", "中文1"); params.put("Text2", "Text2"); params.put("Text3", "Text3"); params.put("Text4", "Text4"); params.put("Text5", "Text5"); params.put("Text6", "Text6"); params.put("Text7", "Text7"); return params; } ``` # 配置文件 ```java ej: pdf: key: certs/keystore.p12 //必要参数 password: 123456 // 必要参数 signImg: certs/qyacahjt.png /// 必要参数 template: pdf/template_test.pdf // 必要参数 ...... ```