【python脚本】 使用calibre 命令行工具ebook-convert实现.epub文件向PDF文件转化

具体步骤:

  • 使用 calibre 命令行工具:Calibre 提供了一个命令行工具 ebook-convert,可以将 .epub 文件转换为 PDF。

  • 步骤概述

    • 安装 Calibre:确保系统上已经安装了 Calibre 并且命令行工具 ebook-convert 可用。
    • 使用 Python 脚本调用 ebook-convert 命令。

环境要求:

  • 安装 Calibre 并确保 ebook-convert 可在命令行使用。
  • Python 环境下正常安装 subprocess,这是 Python 标准库的一部分,不需要额外安装。

命令行测试 Calibre 是否安装成功:

ebook-convert --version

如果安装成功,它会输出 Calibre 版本信息

具体实现

创建一个py文件

例如:

convert_epub_to_pdf.py

代码实现部分:

import os
import subprocess
import glob

def convert_epub_to_pdf(input_path, output_path):
    try:
        # 调用 Calibre 的 ebook-convert 工具将 .epub 转换为 .pdf
        subprocess.run(['ebook-convert', input_path, output_path], check=True)
        print(f"文件已成功转换为 PDF:{output_path}")
    except subprocess.CalledProcessError as e:
        print(f"转换失败:{e}")

def convert_all_epub_in_directory():
    # 获取当前目录下的所有 .epub 文件
    epub_files = glob.glob("*.epub")
    
    if not epub_files:
        print("当前目录下没有找到 .epub 文件。")
        return
    
    for epub_file in epub_files:
        # 获取文件名,移除扩展名
        file_name = os.path.splitext(epub_file)[0]
        # 输出 PDF 文件路径
        output_file = f"{file_name}.pdf"
        # 转换文件
        convert_epub_to_pdf(epub_file, output_file)

if __name__ == "__main__":
    # 执行转换
    convert_all_epub_in_directory()

在当前文件夹使用以下命令行:

注意:把py文件和需要转化的文件放在一个文件夹内

python convert_epub_to_pdf.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值