首页 > 其他分享 >使用Itext将HTML转为PDF

使用Itext将HTML转为PDF

时间:2023-11-16 15:22:19浏览次数:29  
标签:pdfWriter String stringBuilder html fontProvider Itext HTML PDF new

使用的依赖

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>html2pdf</artifactId>
    <version>3.0.5</version>
</dependency>

 获取读取文件并转为PDF

      //读取html文件内容
        File file = new File("D:\\Administrator\\Pictures\\output.html");
        StringBuilder stringBuilder = new StringBuilder();
        FileInputStream fileInputStream = new FileInputStream(file);
        int len = 0;
        byte[] buffer = new byte[1024];
        while(-1!=(len=fileInputStream.read(buffer)))
        {
            stringBuilder.append(new String(buffer,0,len));
        }
        String html = stringBuilder.toString();
        //文件地址路径
        String fontPath = "C:\\Windows\\Fonts\\simsun.ttc,0";
        //pdf文件路径
        String pdfPath = "D:\\test.pdf";
        FileOutputStream fileOutputStream = new FileOutputStream(pdfPath);
        PdfWriter pdfWriter = new PdfWriter(fileOutputStream);
        PdfDocument pdfDocument = new PdfDocument(pdfWriter);
        //设置纸张大小
        pdfDocument.setDefaultPageSize(PageSize.A4);
        //添加中文字体支持
        ConverterProperties properties = new ConverterProperties();
        FontProvider fontProvider = new FontProvider();
        fontProvider.addFont(fontPath);
        properties.setFontProvider(fontProvider);
        // 生成pdf文档
        HtmlConverter.convertToPdf(html,pdfWriter,properties);
        pdfWriter.close();

 

标签:pdfWriter,String,stringBuilder,html,fontProvider,Itext,HTML,PDF,new
From: https://www.cnblogs.com/sun-in-sky/p/17836349.html

相关文章

  • iframe本身就不是动态语言,样式和脚本都需要额外导入.iFrame的本质是内联框架的缩写,它
    以下哪个选项的描述是错误的Aiframe是用来在网页中插入第三方页面,早期的页面使用iframe主要是用于导航栏这种很多页面都相同的部分,这样在切换页面的时候避免重复下载Biframe的创建比一般的DOM元素慢了1-2个数量级Ciframe标签会阻塞页面的的加载Diframe本质是动态语言的Inc......
  • Python 在PDF中生成水印
    前言在PDF中插入水印是比较常用的一种功能。一般在生成比较重要的,或者需要注明版权、作者的文档时使用比较多。这里我将分享一个通过python代码为PDF文档添加水印的办法(包括文本水印和图像水印)。这种方法也适用于批量添加水印的情况。所需工具:这个方法将用到以下程序和组件V......
  • ReportViewer (RDLC)导出Excel或PDF无法打开问题
    WebForms的ReportViewer提供了导出成EXCEL或者PDF的报表。(ReportingServices)但是导出时报表会另存为.xls[1]或者.pdf[1],导致文件无法直接打开。这需要给ReportViewer设定一个DisplayName解决。ReportViewer1.LocalReport.DisplayName......
  • Only export to PDF format from ReportViewer add-in
    Hiall,"OnlyexporttoPDFformatfromReportVieweradd-in"...Isthispossible?Rightnowthereportviewerhastwooptionsofexportingthecurrentreport-ExcelandPDF...IsitpossibletohavePDFastheonlyoption.Idon'twantmyclient......
  • 网页调试(css,html,js)获取资源链接等
    进入调试模式F12或者右键检查在元素栏点击相应的组件可以查看html源码,图片视频音频链接等,或者点击组件右键检查还可以查看组件css布局变化html元素源码可以看到class类名,触发事件以及style样式在css上的改变是实时的,刷新页面会失效html的改变需要双击,同样刷新页面......
  • htmlunit 模拟登入、点击、获取页面信息
    本文介绍了htmlunit模拟登入、点击、获取页面信息的demopublicstaticStringgetHtml(Stringurl){System.out.println("****************开始执行****************");//模拟一个浏览器@SuppressWarnings("resource")WebClientwebClient......
  • Python读取pdf、word、excel、ppt、csv和txt文件提取所有文本
    前言本文对使用python读取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法进行分享和使用总结。可以读取不同文件的库和方法当然不止下面分享的这些,本文的代码主要目标都是:方便提取文件中所有文本的实现方式。这些库的更多使用方法,请到官方文档中查阅。读取PD......
  • 通过chrome调试来抓取html小游戏一例
    通过chrome调试来获取html小游戏一例   在网上看到一个HTML小游戏"蝴蝶翩翩连",试玩了下感觉动画效果做得不错,在点击一个半片蝴蝶会有一个扇动动画,在连通两个相同的半片蝴蝶会合成一个蝴蝶,然后飞出游戏场景,这里想着如何将这个游戏抓下来,学习看看这是怎么实现的这种动画效果!......
  • java怎么和html结合
    Java和HTML结合通常是在Web开发的背景下进行的。Java可以用于后端服务器编程,而HTML用于前端界面设计。这两者结合主要通过以下几种方式:Servlet和JSP:Servlet:JavaServlet是运行在Web服务器或应用服务器上的程序,它接收来自Web浏览器的请求,并生成响应给浏览器。Servlet通常用......
  • 批量导出多个页面为pdf文件
    添加多个页面组件ref,每个页面组件加一个回调函数来判断此页面数据是否已经加载完毕,加载完毕所有页面后执行导出importReact,{useContext,useEffect,useRef,useState}from'react';importstylesfrom'./index.less';importcontextfrom'@/layouts/context';import......