Java实现打印PDF解决方案实测可行

本文介绍了在Java中实现PDF打印的解决方案,强调了需求理解的重要性。内容包括使用前端样式和浏览器打印插件、导出PDF以及采用iTextPDF库进行接口调用来创建PDF。还提到了在Linux系统中寻找特定字体文件的问题,以及处理XML解析错误和实现分页、页眉的参考资源。
摘要由CSDN通过智能技术生成

1.开始开发之前充分沟通并理解需求是项目顺利进行的前提。
2.其实打印可以用多种工具实现比如前端写好样式,组装好需要的数据,直接打开新的页面用浏览器打印插件打印网页即可,或者导出PDF实现打印。
simsun.ttc mac 和Windows可以用一个字体文件。
Linux系统需要网上找指定字体文件。
po.xml内容:

com.itextpdf
itextpdf
5.5.11

	<dependency>
		<groupId>com.itextpdf.tool</groupId>
		<artifactId>xmlworker</artifactId>
		<version>5.5.11</version>
	</dependency>
	<dependency>
		<groupId>com.itextpdf</groupId>
		<artifactId>itext-asian</artifactId>
		<version>5.2.0</version>
	</dependency>
	<dependency>
		<groupId>org.xhtmlrenderer</groupId>
		<artifactId>flying-saucer-pdf-itext5</artifactId>
		<version>9.0.3</version>
	</dependency>
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.itextpdf.text.pdf.BaseFont;

import java.io.IOException;
import java.io.OutputStream;

import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;


/**
 * 打印PDF
 * String htmlFile = "/Users/hm/Downloads/pdf/4.html";
 * String pdfFile = "/Users/hm/Downloads/pdf/test12.pdf";
 */
public class Html2PdfPrintUtil {

    private static final Logger log = LoggerFactory.getLogger(Html2PdfPrintUtil.class);


    public OutputStream createPdf(String htm, OutputStream os) throws IOException, com.itextpdf.text.DocumentException {
        ITextRenderer renderer = new ITextRenderer();
        renderer.setDocumentFromString(htm);
       log.info("初始化pdf");

        // step 3 解决中文支持
        String opeSystem = getCurrentOperatingSystem();
        ITextFontResolver fontResolver = render
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值