wkhtmltopdf工具将网站转换成pdf或图片

简介: 0. 下载与安装


image.png

1. 配置环境变量

我们进入 wktmltopdf 目录下的bin 目录,将目录的路径地址复制下来:

image.png

接下来,我们在wkhtmltopdf 目录下新建一个 wk-pdfs 文件夹,用于存放保存的pdf 文件:

image.png

同样的,我们在wkhtmltopdf 目录下新建一个 wk-images 文件夹,用于存放保存的图片文件:

image.png

注意不要wkhtmltopdf 文件夹的路径中不要有中文路径

2. 测试使用

2.1 将指定页面生成pdf

打开CMD命令行,执行如下命令:

wkhtmltopdf https://www.baidu.com F:\wkhtmltopdf\wk-pdfs\1.pdf

image.png

如图,这样就把https://www.baidu.com 的网页以 PDF 形式保存到了F:\wkhtmltopdf\wk-pdfs\1.pdf

打开该pdf 看一下效果:

image.png

2.2 将指定页面生成图片

打开CMD命令行,执行如下命令:

wkhtmltoimage https://www.baidu.com F:\wkhtmltopdf\wk-images\1.png(不压缩)

生成的图片效果如图:

image.png

wkhtmltoimage --quality 75 https://www.baidu.com F:\wkhtmltopdf\wk-images\2.png(压缩图片)

–quality 75:就表示生成图片的质量为原来的 75%!

对比二者大小:

image.png

3. Java 中使用wkhtmltopdf

代码如下:

/**
 * @Auther: csp1999
 * @Date: 2020/12/05/19:19
 * @Description:
 */
public class WKTests {
    public static void main(String[] args) {
        // F:\\wkhtmltopdf\\wkhtmltopdf\\bin\\wkhtmltoimage :该工具可执行文件的位置
        // --quality 75 :图片质量为75%
        // https://www.nowcoder.com : 要生成图片的网站地址
        // F:\\wkhtmltopdf\\wk-images\\3.png :生成图片保存的路径
        String cmd = "F:\\wkhtmltopdf\\wkhtmltopdf\\bin\\wkhtmltoimage" +
            "--quality 75 https://www.nowcoder.com F:\\wkhtmltopdf\\wk-images\\3.png";
        try {
            Runtime.getRuntime().exec(cmd);
            System.out.println("运行成功...");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

效果如图:

image.png

4. SpringBoot 整合wkhtmltopdf

4.1 application.properties

# wk 工具相关配置
# wk 工具的路径(生成图片)
wk.image.command=F:/wkhtmltopdf/wkhtmltopdf/bin/wkhtmltoimage
# wk 工具的路径(生成pdf)
wk.pdf.command=F:/wkhtmltopdf/wkhtmltopdf/bin/wkhtmltopdf
# 生成的图片文件存储路径
wk.image.storage=F:/wkhtmltopdf/wk-images/
# 生成的pdf文件存储路径
wk.pdf.storage=F:/wkhtmltopdf/wk-pdfs/

4.2 WkConfig 配置类

/**
 * @Auther: csp1999
 * @Date: 2020/12/05/19:34
 * @Description: Wk 工具相关配置类
 */
@Configuration
public class WkConfig {
    private static final Logger logger = LoggerFactory.getLogger(WkConfig.class);
    // 生成的图片文件存储路径
    @Value("${wk.image.storage}")
    private String wkImageStorage;
    /**
     * 该注解修饰的方法会自动执行,
     * 执行顺序:Constructor(构造方法) —> @Autowired(依赖注入) —> @PostConstruct(注释的方法)
     */
    @PostConstruct
    public void init() {
        // 创建Wk图片保存的目录
        File file = new File(wkImageStorage);
        if (!file.exists()) {
            file.mkdir();
            logger.info("创建WK图片目录: " + wkImageStorage);
        }
    }
}



相关文章
|
5天前
|
人工智能 文字识别 数据挖掘
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
61 9
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
8天前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
40 16
|
4月前
|
XML 缓存 JSON
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
287 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
Documind:开源 AI 文档处理工具,将 PDF 转换为图像提取结构化数据
Documind 是一款利用 AI 技术从 PDF 中提取结构化数据的先进文档处理工具,支持灵活的本地或云端部署。
94 8
Documind:开源 AI 文档处理工具,将 PDF 转换为图像提取结构化数据
|
20天前
|
编解码 人工智能 文字识别
用PDF转换图片的方式弥补通义千问在扫描版PDF支持方面的缺失
当前通义千问Web版和本地版qwen-VL在处理扫描版PDF时均无法直接识别,导致实际应用中处理大量扫描PDF的需求难以满足。为此,通过使用Python的pdf2image库,可将PDF文件转换为图片,再进行OCR处理,实现解决方案。文中提供了具体的代码示例,展示了如何将PDF文件的每一页转换成图片,并保存至指定文件夹,为后续的OCR处理做好准备。
|
2月前
|
Java BI API
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
601 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
|
3月前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
36 0
|
4月前
|
数据安全/隐私保护 Python Windows
三种方法,Python轻松提取PDF中全部图片
三种方法,Python轻松提取PDF中全部图片
|
4月前
|
Python
Python——批量将PDF文件转为图片
Python——批量将PDF文件转为图片
47 2
|
5月前
|
API Docker 容器
超实用工具分享!Gotenberg,让你的文档转换PDF无缝对接
超实用工具分享!Gotenberg,让你的文档转换PDF无缝对接
110 4