当前位置: 首页 > news >正文

python将epub文件转pdf

说明:我最近突然碰到一个需求,将epub文件转pdf,花了我三个小时才弄好,虽然不起眼,但是处理起来是真的麻烦,报了一堆错误,才弄好 (ps:新手弄三天都弄不好,不过可以参考我这篇博客,十分钟可搞定)

step1:安装软件和环境


安装 Pandoc安装 wkhtmltopdf

step2:添加环境变量


C:\Program Files\Pandoc
C:\Program Files\wkhtmltopdf\bin

step3:完整代码 可直接运行,亲测可用 完美支持中文
C:\Users\wangrusheng\PycharmProjects\FastAPIProject1\hello.py

import os
import sys
import subprocess
import tracebackdef epub_to_pdf_simple(epub_path, output_pdf=None):"""使用完整路径调用 pandoc"""if output_pdf is None:output_pdf = os.path.splitext(epub_path)[0] + ".pdf"# 指定所有工具的完整路径pandoc_path = r'C:\Program Files\Pandoc\pandoc.exe'wkhtmltopdf_path = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'# 修改后的命令 - 移除了不支持的参数command = [pandoc_path,epub_path,"-o", output_pdf,f"--pdf-engine={wkhtmltopdf_path}","--verbose"]try:result = subprocess.run(command,check=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=True,encoding='utf-8',errors='replace')print(f"转换成功!PDF保存至: {output_pdf}")print("命令输出:\n", result.stdout)return output_pdfexcept subprocess.CalledProcessError as e:print(f"转换失败: {e.stderr if e.stderr else 'Unknown error'}")print("详细错误信息:")traceback.print_exc()sys.exit(1)if __name__ == "__main__":epub_file = r"C:\Users\wangrusheng\Downloads\us.epub"epub_to_pdf_simple(epub_file)

end

http://www.dtcms.com/a/338916.html

相关文章:

  • UniApp 实现pdf上传和预览
  • 大模型级部署:从本地轻量化到云原生方案
  • 基于单片机智能密码锁/密码箱/门锁/门禁系统
  • Python爬虫实战:研究ICP-Checker,构建ICP 备案信息自动查询系统
  • PiscCode迅速集成YOLO-Pose 实现姿态关键点轨迹跟踪应用
  • 从繁琐到优雅:Java Lambda 表达式全解析与实战指南
  • 第1章 React组件开发基础
  • JxBrowser 8.10.0 版本发布啦!
  • iOS App 混淆工具实战,教育培训类 App 的安全保护方案
  • CTFshow系列——命令执行web34-37
  • RK3128增加usb调试模式,开放adb和root权限
  • leetcode 有效的括号
  • 西游记23:三藏不忘本,四圣试禅心;八戒挑行李;分工明确;
  • Java试题-选择题(11)
  • 从闲置到珍宝:旧物回收小程序系统重塑物品价值
  • dockerfile文件中crlf与lf换行符问题
  • 记录Webapi Excel 导出
  • 电影购票+票房预测系统 - 后端项目介绍(附源码)
  • Android Studio常用知识总结
  • HP Pavilion G6 笔记本使用ventoy启动安装Ubuntu 22.04 桌面版
  • Redission是什么
  • 低延迟、跨平台与可控性:直播SDK的模块化价值解析
  • 探访隐形冠军|安贝斯携手武汉科创协会x深钣协“湖北行”,溯源南海光电的创新密码
  • Qt个人通讯录项目开发教程 - 从零开始构建联系人管理系统
  • 【运维进阶】Ansible 角色管理
  • 【自动化运维神器Ansible】Playbook调用Role详解:从入门到精通
  • 数字孪生 :提高制造生产力的智能方法
  • 红日靶场03
  • 【Qt】 数据库连接池
  • B站 韩顺平 笔记 (Day 23)