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);
        }
    }
}



相关文章
|
2月前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
552 0
|
5月前
|
人工智能 文字识别 自然语言处理
熊猫 OCR 识别软件下载,支持截图 OCR、PDF 识别、多语言翻译的免费全能工具,熊猫OCR识别
本文介绍了几款实用的图文识别软件,包括熊猫OCR、Umi-OCR和天若OCR_本地版。熊猫OCR功能强大,支持多窗口操作、AI找图找色、OCR识别等;Umi-OCR免费且高效,具备截图OCR、批量处理等功能;天若OCR界面简洁,适合快速文字识别。文章还提供了下载链接及软件特点、界面展示等内容,便于用户根据需求选择合适的工具。
474 36
|
7月前
|
人工智能 自然语言处理 算法
科研论文翻译神器!BabelDOC:开源AI工具让PDF论文秒变双语对照,公式图表全保留
BabelDOC 是一款专为科学论文设计的开源AI翻译工具,采用先进的无损解析技术和智能布局识别算法,能完美保留原文格式并生成双语对照翻译。
2121 67
科研论文翻译神器!BabelDOC:开源AI工具让PDF论文秒变双语对照,公式图表全保留
|
6月前
|
人工智能 搜索推荐 算法
PDF 转 JPG 图片小工具:CodeBuddy 助力解决转换痛点
在 PDF 转 JPG 的实际应用中,用户普遍面临转换质量差、批量处理效率低、格式兼容性不足以及编程实现困难等痛点。而 CodeBuddy 凭借智能代码生成与优化、实时错误诊断修复、助力代码学习拓展,以及支持多场景适配与个性化定制等强大的 AI 编程能力,精准直击这些难题。使用 CodeBuddy 开发 Python PDF 转 JPG 小工具,能够有效提升转换效率与质量,降低开发门槛和成本,为用户带来高效、优质的文件格式转换体验。
219 16
|
6月前
|
人工智能 自然语言处理 安全
CodeBuddy 开发本地 PDF 转图工具
市场上的 PDF 转图片工具存在收费昂贵、功能有限、隐私安全风险等痛点,而使用 CodeBuddy 实现的本地 PDF 批量转图片工具可以有效解决这些问题。CodeBuddy 的强大编程能力让我们可以快速开发出满足需求的工具,而且工具可以在本地运行,保证了文件的隐私安全。此外,工具还支持批量处理和自定义功能,提高了工作效率。如果你也有 PDF 转图片的需求,不妨尝试使用 CodeBuddy 来实现一个属于自己的工具。
188 11
|
6月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
245 10
|
5月前
|
人工智能 开发工具 开发者
【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能
HarmonyOS 系统提供的核心场景化视觉服务,旨在帮助开发者快速实现移动端文档数字化功能。
243 0
|
9月前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
744 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
8月前
|
人工智能 文字识别 自然语言处理
1.6K star!这个开源文本提取神器,5分钟搞定PDF/图片/Office文档!
Kreuzberg 是一个基于 Python 的文本提取库,支持从 PDF、图像、Office 文档等 20+ 格式中提取文本内容。采用 MIT 开源协议,具备本地处理、异步架构、智能 OCR 等特性,特别适合需要隐私保护的文档处理场景。
770 1
|
8月前
|
文字识别 UED Python
对双栏 | 单双栏混合 | 图表文字混合的复杂布局的图片OCR识别(对布局复杂的整个pdf进行OCR识别)
这个故事告诉我们要多尝试不同的库和引擎,尤其是需求比较偏门或者少见的时候。同一个方向不同的库所擅长的领域是不一样的。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章