具体步骤:
-
使用
calibre
命令行工具:Calibre 提供了一个命令行工具ebook-convert
,可以将.epub
文件转换为 PDF。 -
步骤概述:
- 安装 Calibre:确保系统上已经安装了 Calibre 并且命令行工具
ebook-convert
可用。 - 使用 Python 脚本调用
ebook-convert
命令。
- 安装 Calibre:确保系统上已经安装了 Calibre 并且命令行工具
环境要求:
- 安装 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