添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

wkHtmlToPdf  的简单使用我在这里就不说了,今天主要说一下 设置  自定义字体问题,我经过多次的测试,终于成功应用,这种设计方案,目前在百度上你几乎搜不到第二篇文章介绍!。

1、上代码

import java.io.File;
import java.io.IOException;
public class WkHtmlToPdf {
private static final String toPdfTool = "D:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";
private static final String toPdfCssFangSong = "E:\\template\\toPdfCssStyle\\style_fangsong.css";
/** 主体方法生成  pdf */
public static void testConvert( String srcPath, String destPath){
    logger.info("css样式在服务器上存的路径[{}]",toPdfCssFangSong);
    String pageSize = "A4";
    File file = new File(destPath);
    File parent = file.getParentFile();
    if (!parent.exists()){
        parent.mkdirs();
    StringBuilder cmd = new StringBuilder();
    cmd.append(toPdfTool).append(" ");//wkhtmltopdf 的安装地址
    cmd.append("--page-size ");
    cmd.append(pageSize).append(" ");
    cmd.append("--margin-top ");
    cmd.append("24mm").append(" ");
    cmd.append("--margin-bottom ");
    cmd.append("15mm").append(" ");
    cmd.append("--user-style-sheet ");
    cmd.append(toPdfCssFangSong).append(" ");//为生成的 pdf 文档设置自定义样式,非常重要!!!  
    cmd.append("--disable-smart-shrinking ");//这个参数一定要加上,加上页面就不缩小了,会正常比例显示
    cmd.append(srcPath).append(" ");
    cmd.append(destPath);
    try {
        Runtime.getRuntime().exec(cmd.toString());
    }catch (IOException e){
        e.printStackTrace();
public static void main(String[] args) {
    try {
        //设置纸张大小: A4, Letter, etc.
        String pageSize = "A4";
        //需要生成PDF的URL,这样也可以是页面的本地地址
        String srcPath = "E:\\buildWord\\2020\\2020-04-28\\C1101072020100816\\协议书.html";
        String destPath = "E:\\buildWord\\2020\\2020-04-28\\C1101072020100816\\协议书.pdf";
        testConvert(srcPath, destPath);
    } catch (Exception e) {
        e.printStackTrace();
2、style_fangsong.css  是自定义的样式文件,根据根据所需要的字体或者其他样式,自定义设置,格式样式如下:
 @font-face{font-family: "仿宋";src:url("C:\\Windows\\Fonts\\simfang.ttf")}
    font-family: 仿宋 !important;
    font-weight:normal !important;
这种设置,主要针对对 pdf字体或其他样式要求比较严格的使用场景,小伙伴可以试试,如果有不懂的地方 可以留言!!!
                    wkHtmlToPdf 的简单使用我在这里就不说了,今天主要说一下 设置 自定义字体问题,我经过很多次的测试,终于成功。1、上代码import java.io.File;import java.io.IOException;public class WkHtmlToPdf {private static final String toPdfTool = "D:\\Progra...
				
常规解决wkhtmltopdf 中文乱码的方法有 安装缺失的字体、修改字符编码等,相关方法可以通过搜索引擎解决。 但目前碰到一个案情况比较少见,html中所需要的字体为宋体,windows自带,且html字符编码正确,但wkhtmltopdf转换时,对于宋体段落无法正常渲染,出现乱码,如下图: 经多方查询,最简的解决方法是,在网页头部的style标签中,手工指定宋体字体的本地存放位置,wkhtm...
最近,项目需要将HTML页面转换为PDF文件,所以就研究了下HTML转PDF的解决方案,发现网上比较流行的解决方案有3种: (1)iText (2)Flying Saucer (3)wkhtmltopdf 还有一些收费的,我就没测试过了,前两种对HTML的要求过于严格,而且即使你写标准的HTML(当然这都是理想情况下),他也未必可以完美解析,所以我就选择了(3),wkhtmltopdf基于...
style支持弱,对于表单的样式无法进行更改,就是有背景色,无法去掉等 因此我寻求另外一种更好的转变方式,将用户编辑完的HTML页面直接生成PDF,一模一样,即使是样式也一模一样。 各种试,各种查找,最终选择了wkhtmltpdf这个神一样的软件 二、简单介绍 wkhtmltopdf不是程序,而是软件。能够安装在 l...
问题描述:我们产品报告内需要用到四种字体(黑体、新罗马字体、方正兰亭细黑、方正兰亭中黑),html文件可以将不同字体按照要求分别显示,但是使用wkhtmltopdf将html转成pdf之后,只保留一种字体。 解决方案:参考了Wkhtmltopdf Considered Harmful
需要用php把html生成pdf,找了了个php扩展,HTML2PDF,只能生成一些简单的HTML代码,复杂的HTML+css无法生成。网上找到了强大的wkhtmltopdf。 直接下周bin包,不用安装,解压缩就能用。 ./wkhtmltox/bin/wkhtmltopdf  http://www.baidu.com  baidu.pdf 如果wkhtmltopdf中文显示空白,打
下载地址:https://wkhtmltopdf.org/downloads.html 傻瓜式解压安装,这里不细说 测试是否安装成功,进入到程序执行目录(\wkhtmltopdf\bin) wkhtmltopdf "https://www.baidu.com"...
我可以回答这个问题。使用python的pdfkit库和wkhtmltopdf工具可以将HTML格式的文件转换为PDF文件。你可以通过以下代码将HTML文件转换为PDF文件: import pdfkit pdfkit.from_file('example.html', 'example.pdf') 在运行代码之前,确保安装了wkhtmltopdf工具并将其添加到环境变量中。