itextpdf generates blurry pictures

Viewed 43

I am using itextpdf html2pdf tool to implement freemarker template to generate pdf

Refer to the official documentation link: https://kb.itextpdf.com/home/it7kb/ebooks/itext-7-converting-html-to-pdf-with-pdfhtml/chapter-7-frequently-asked-questions-about-pdfhtml/can-pdfhtml-render-base64-images-to-pdf

The front end uses echarts to convert the image to base64.

The picture can be displayed clearly on the browser, but after the pdf is generated, the picture becomes blurry.

Refer to html and pdf image comparison:

html pdf

public static void main(String[] args) throws Exception{
    File file = FileUtil.newFile("D:/test.html");
    BufferedOutputStream outputStream = FileUtil.getOutputStream("D:/test.pdf");
    BufferedInputStream inputStream = FileUtil.getInputStream(file);
    ConverterProperties converterProperties=new ConverterProperties();
    FontProvider fontProvider=new DefaultFontProvider();
    FontProgram fontProgram = FontProgramFactory.createFont(Constant.CONFIG_PATH+File.separator+"simsun.ttc,1");
    fontProvider.addFont(fontProgram);
    MediaDeviceDescription mediaDeviceDescription = new MediaDeviceDescription(MediaType.SCREEN);
    mediaDeviceDescription.setResolution(2000f);
    converterProperties.setFontProvider(fontProvider);
    converterProperties.setMediaDeviceDescription(mediaDeviceDescription);
    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outputStream));
    pdfDoc.setDefaultPageSize(new PageSize(1000,1700));
    HtmlConverter.convertToPdf(inputStream,pdfDoc,converterProperties);
}
0 Answers
Related