1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > wkhtmltopdf 实现html转pdf (thead)分页问题

wkhtmltopdf 实现html转pdf (thead)分页问题

时间:2022-07-09 16:13:40

相关推荐

wkhtmltopdf 实现html转pdf  (thead)分页问题

版本:wkhtmltox-0.12.1_msvc-win64

解决方式:

就是在需要换页的css属性里面加

page-break-inside:avoid!important;

代码1:

public classHtmlToPdfInterceptorextendsThread {privateInputStreamis;publicHtmlToPdfInterceptor(InputStream is){this.is= is;}public voidrun(){try{InputStreamReader isr =newInputStreamReader(is,"utf-8");BufferedReader br =newBufferedReader(isr);String line =null;while((line = br.readLine()) !=null) {System.out.println(line.toString());//输出内容}}catch(IOException e){e.printStackTrace();}}}

代码2:

public classHtmlToPdf {//wkhtmltopdf在系统中的路径 // private static final String toPdfTool = "D:\\java\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";private static finalStringtoPdfTool="D:\\pdf_tool\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";private static finalStringtoPdfToolLinux="/home/opt/wkhtmltox/bin/wkhtmltopdf";/** * html转pdf *@paramsrcPathhtml路径,可以是硬盘上的路径,也可以是网络路径 *@paramdestPathpdf保存路径 *@return转换成功返回true */public static booleanconvert(String srcPath, String destPath){File file =newFile(destPath);file.getParentFile().mkdirs();//如果pdf保存路径不存在,则创建路径StringBuilder cmd =newStringBuilder();String system = System.getProperty("os.name");System.out.println(system);booleancontains = system.contains("Windows");System.out.println(contains);booleancontains2 = system.contains("Linux");if(contains){cmd.append(toPdfTool);}else if(contains2){cmd.append(toPdfToolLinux);}cmd.append(" ");cmd.append(" --header-line ");//页眉下面的线cmd.append(" --margin-right 20 ");cmd.append(" --header-font-size 26 ");cmd.append(" --header-right ");//页眉中间内容String headerRight="Leyard集团";cmd.append(headerRight);//cmd.append(" --margin-top 30mm ");//设置页面上边距 (default 10mm)// cmd.append(" --header-spacing 30 ");// (设置页眉和内容的距离,默认0)cmd.append(" --footer-line ");//* 显示一条线在页脚内容上)cmd.append(" --footer-left /[topage] ");//cmd.append( "--footer-right ");//设置在中心位置的页脚内容// cmd.append(" --footer-spacing 30 ");// (设置页脚和内容的距离)cmd.append(" ");cmd.append(srcPath);cmd.append(" ");cmd.append(destPath);booleanresult =true;try{Process proc = Runtime.getRuntime().exec(cmd.toString());HtmlToPdfInterceptor error =newHtmlToPdfInterceptor(proc.getErrorStream());HtmlToPdfInterceptor output =newHtmlToPdfInterceptor(proc.getInputStream());error.start();output.start();proc.waitFor();}catch(Exception e){result =false;e.printStackTrace();}returnresult;}public static voidmain(String[] args) {// HtmlToPdf.convert("http://115.28.226.97:5001/create/toLedPage?id=4", "d:/wkhtmltopdf.pdf");HtmlToPdf.convert("http://127.0.0.1:8080/create/toLedPage?id=515","D:/wkhtmltopdf7.pdf");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。