记录一下JAVA代码实现导出PDF文件-测试

因为是普通javaweb项目里面想要实现这个功能,所以我选择本地下载jar包以后添加到项目库。

在这一步骤里面,因为网上好多都是maven项目来导入依赖,所以我只能是按名字去官网下载相关jar包,英文不佳还是费了不少事儿。

以下是需要导入的包,必需的是圈起来的三个。

 导入包之后,就可以写个测试类来实现一个简单的测试。

import com.itextpdf.io.font.PdfEncodings;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import org.junit.jupiter.api.Test;

import java.io.File;

public class test2 {
    public static final String DEST="C:/Users/mi/Desktop/csdn/result/pdf/pdf1.pdf";

    public static void main(String[] args) throws Exception {
        File file =new File(DEST);
        file.getParentFile().mkdirs();
        createPdf(DEST);
    }

    public static void createPdf(String dest) throws Exception{
        //Initialize PDF writer
        PdfWriter writer=new PdfWriter(dest);
        //Initialize PDF document
        PdfDocument pdf=new PdfDocument(writer);
        // Initialize document
        Document document=new Document(pdf);
        //Add paragraph to the document
        Paragraph paragraph = new Paragraph("我是一个PDF22");
        document.add(paragraph);
        //Close document
        document.close();
    }
}

在这中间还涉及到了,一个中文不显示的问题,后面发现是中文字体它不会显示,会显示为空白,导致写出的的PDF文件只留下了英文。

需要手动添加一个中文字体。这里我选择的是添加Windows系统自带的一个宋体。

获取字体路径的方法如下: 右键->属性->复制就行

 

 然后在测试代码中添加两句

PdfFont documentFont=PdfFontFactory.createFont("C:/Windows/Fonts/simsun.ttc,1", PdfEncodings.IDENTITY_H,true);

//在创建paragraph 之后添加
paragraph.setFont(documentFont).setFontSize(12);

网上很多都没有提起第一个添加字体的方法需要设置一个“,1”,不设置这个他也不起作用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值