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

如何使用 Python 转换 Excel 工作表到 PDF 文档

在日常办公和数据处理中,我们经常需要将 Excel 文档转换为 PDF 格式。PDF 格式具有跨平台兼容性好、格式固定不易篡改、便于分享和打印等优势,因此成为文档分发的理想选择。今天我们将介绍如何使用 Spire.XLS for Python 库来实现 Excel 到 PDF 的高效转换,涵盖从基础转换到高级设置的全流程。


环境准备与安装

在开始之前,我们需要先用 pip 工具进行安装:

pip install Spire.XLS

免费版 (有限制):

pip install Spire.XLS.Free

基础 Excel 转 PDF 实现

让我们从最基本的转换开始,将整个 Excel 工作簿转换为 PDF 文件:

from spire.xls import *
from spire.xls.common import *# 加载 Excel
workbook = Workbook()
workbook.LoadFromFile("sample.xlsx")# 设置工作表自适应页面
workbook.ConverterSetting.SheetFitToPage = True# 转换为 PDF
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
workbook.Dispose()

这段代码实现了最基本的转换功能,主要包含三个步骤:

  1. 创建 Workbook 对象
  2. 加载 Excel 文件
  3. 保存为 PDF 格式

转换指定工作表

有时我们不需要转换整个工作簿,只需要转换其中的一个或多个工作表。Spire.XLS 提供了灵活的选项来实现这一点:

from spire.xls import *
from spire.xls.common import *# 加载 Excel
workbook = Workbook()
workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.xlsx")# 获取指定工作表
sheet = workbook.Worksheets[1]# 设置工作表自适应页面
workbook.ConverterSetting.SheetFitToPage = True# 转换为 PDF
sheet.SaveToPdf("WorksheetToPdf.pdf")
workbook.Dispose()

高级 PDF 转换设置

Spire.XLS 提供了丰富的转换选项,让我们可以自定义 PDF 的输出效果。以下是一些常用的高级设置:

设置 PDF 导出参数

  • 页面方向(纵向/横向)
  • 纸张大小(A4/A3)
  • 页边距
  • 是否显示网格线
# 获取 PageSetup 对象
pageSetup = sheet.PageSetup# 设置页面方向
pageSetup.Orientation = PageOrientationType.Landscape;# 设置页面大小
pageSetup.PaperSize = PaperSizeType.PaperA4;# 设置页边距
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3# 显示网格线
pageSetup.IsPrintGridlines = true;

批量转换多个 Excel 文件

当需要处理多个 Excel 文件时,我们可以编写批量转换脚本:

import os
from spire.xls import *
from spire.xls.common import *def batch_excel_to_pdf(input_dir, output_dir):"""批量转换指定目录下的所有 Excel 文件为 PDF参数:input_dir: 包含 Excel 文件的目录output_dir: 输出 PDF 文件的目录"""# 确保输出目录存在if not os.path.exists(output_dir):os.makedirs(output_dir)# 获取目录下所有 Excel 文件excel_extensions = ('.xls', '.xlsx', '.xlsm', '.xlsb')excel_files = [f for f in os.listdir(input_dir) if f.lower().endswith(excel_extensions)]if not excel_files:print(f"在 {input_dir} 中未找到 Excel 文件")returnworkbook = Workbook()try:for i, filename in enumerate(excel_files, 1):excel_path = os.path.join(input_dir, filename)# 生成输出 PDF 文件名pdf_filename = os.path.splitext(filename)[0] + '.pdf'pdf_path = os.path.join(output_dir, pdf_filename)print(f"正在转换 {i}/{len(excel_files)}: {filename}")# 加载并转换workbook.LoadFromFile(excel_path)workbook.SaveToFile(pdf_path, FileFormat.PDF)# 清空工作簿,准备下一个文件workbook.Dispose()workbook = Workbook()print(f"已保存: {pdf_filename}")print(f"批量转换完成,共处理 {len(excel_files)} 个文件")except Exception as e:print(f"转换过程中出错: {str(e)}")finally:workbook.Dispose()# 使用示例
if __name__ == "__main__":input_directory = "需要转换的Excel文件"  # 存放Excel文件的目录output_directory = "转换后的PDF文件"    # 输出PDF的目录batch_excel_to_pdf(input_directory, output_directory)

总结

Spire.XLS for Python 为 Excel 转 PDF 提供了强大而灵活的解决方案,无论是简单的单文件转换还是复杂的批量处理,都能轻松应对。通过本文介绍的方法,你可以根据实际需求定制转换过程,获得高质量的 PDF 输出。

希望本文能帮助你高效地实现 Excel 到 PDF 的转换需求,提升工作效率!

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

相关文章:

  • 网站建设伍金手指下拉2公众号图片到wordpress
  • 亚远景-在开发中的 “功能安全(ISO 26262)” 与 “网络安全(ISO/SAE 21434)”关联实践
  • wordpress关闭谷歌北京百度seo代理
  • Python中如何安全地存储和验证密码
  • fixed-bug:JPA 关联关系的对象序列化循环引用问题
  • Nginx入门基础-访问配置
  • 装饰网站建设辽宁省建设工程信息网官网新网站
  • 【LeetCode热题100(56/100)】组合总和
  • 什么是离线语音识别芯片(离线语音识别芯片有哪些优点)
  • 代前导页的网站定制网站建设案例课堂
  • 四川住房城乡建设厅官方网站天津制作企业网站的
  • 图的邻接矩阵实现以及遍历
  • 伟淼科技发布11月营销前瞻:解码 “温暖狂欢感恩” 增长公式
  • 前端学习css
  • 外链推广网站都有哪些网站首页分辨率
  • 网站查询域名解析用extjs做的网站
  • 【计算机网络】NAT技术深度解析:从原理到NAPT实现的工作机制
  • 外设模块学习(10)——红外避障模块(STM32)
  • 60 d3.js 不能正确展示节点连线, 以及一个基础的demo
  • 优质网站建设是哪家北京论坛网站建设
  • 黑马商城day8-ES01
  • 创意网站建设公司阿里云宝塔面板一键安装wordpress
  • F043 vue+flask天气预测可视化系统大数据(浅色版)+机器学习+管理端+爬虫+超酷界面+顶级可视化水平
  • 电脑无法识别WiFi 7路由器的解决方式
  • 海南网站推广微商目前十大火爆产品
  • Nestjs框架: 微服务架构实践与技术选型指南
  • 网络请求完整指南 - 从原理到实践
  • PHP网站建设项目经验动态wordpress动态主题
  • 企业网站建设项目描述saas小程序开发
  • 各大门户网站怎么做推广如何做网站 优帮云