因为公司的开发盘里只有itext库的jar包,其他库又不让随便引。像html2pdf,如果用这个库那就更简单了,这里我用的是itextpdf 5.5.13。
1. 引入依赖:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.13.3</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
2. 具体代码实现:
//html富文本
String htmlContent="<p style=\"text-align: center;\"><span style=\"font-size: 24px; text-align: center;\">争做新青年</span></p>\n";
Document document = null;
ByteArrayInputStream byteArrayInputStream = null;
PdfWriter pdfwriter = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] bytes = null;
//这里可以设置pdf纸张大小,以及一些左右边距样式
document = new Document(PageSize.A4, 10, 10, 10, 10);
pdfwriter = PdfWriter.getInstance(document, baos);
document.open();
byteArrayInputStream = new ByteArrayInputStream(htmlContent.getBytes());
XMLWorkerHelper.getInstance().parseXHtml(pdfwriter, document, byteArrayInputStream, Charset.forName("UTF-8"));
document.close();
pdfwriter.close();
//传给前端的是一个字节数组
bytes = baos.toByteArray();
看到这是不是觉得很简单?
没错,它就是很简单哈哈哈。有问题的bro评论区可以打出来哦~