Python Excel XLS或XLSX转PDF详解:七大实用转换设置

Python 实现Excel XLS和XLSX格式相互转换 本文详细了介绍如何使用Python在Excel的Xls和Xlsx格式之间进行相互转换。 阅读详情
AI摘要

日常工作常需将Excel文件转成PDF,以保证兼容性和安全性。本文探讨用Python将Excel XLS或XLSX文件转PDF的多种方法,包括基础转换、带页码转换、特定页面尺寸转换等,还介绍了转换中可能遇到的问题及解决方案。

目录

使用工具

Python将Excel文件转换为PDF

Python将Excel文件转换为带页码的PDF

Python将Excel文件转换为特定页面尺寸的PDF

Python将Excel文件转换为PDF并将内容适应到一页

Python将Excel文件转换为PDF/A

Python将Excel文件中的工作表转换为单独的PDF

Python将Excel工作表中的特定单元格区域转换为PDF

转换过程中可能遇到的问题及解决方案

总结


Python Excel转PDF

在日常工作中,我们常常需要将 Excel 文件转换成 PDF 格式以便共享或打印。相比于 Excel 文件,PDF 格式具备更好的兼容性和安全性,能确保数据内容和排版不变。在本篇博客中,我们将探讨如何使用Python以编程方式将Excel XLS或XLSX文件转换为PDF,内容涵盖从基础转换到高级设置的多种方法,以满足各种使用场景的需求。此外还介绍了转换过程中可能遇到的问题及解决方案。

  • 将Excel文件转换为PDF
  • 将Excel文件转换为带页码的PDF
  • 将Excel文件转换为特定页面尺寸的PDF
  • 将Excel文件转换为PDF并将内容适应到一页
  • 将Excel文件转换为PDF/A
  • 将Excel文件中的工作表转换为单独的PDF
  • 将Excel工作表中的特定单元格区域转换为PDF
  • 转换过程中可能遇到的问题及解决方案

使用工具

要在Python中实现Excel转PDF,首先需要安装Excel文件处理库。本文所使用的库是Spire.XLS for Python,它可以通过以下pip命令进行安装:

pip install Spire.XLS

Python将Excel文件转换为PDF

将Excel文件转换到PDF的过程比较简单,只需要三个步骤:

  • 创建Workbook类的对象。
  • 使用Workbook.LoadFromFile()方法打开Excel XLS或XLSX文件。
  • 使用Workbook.SaveToFile()方法将Excel文件保存为PDF。

实现代码:

from spire.xls import *
from spire.xls.common import *

# 打开Excel XLS或XLSX文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")
# workbook.LoadFromFile("测试.xls")

# 将Excel文件转换为PDF格式
workbook.SaveToFile("Excel转PDF.pdf", FileFormat.PDF)
workbook.Dispose()

Python将Excel文件转换为带页码的PDF

对于内容较长的文档,添加页码可以显著提高导航和可读性。将Excel文件转换为带页码的PDF不仅能帮助读者快速找到所需信息,还能使文档看起来更为专业。

下面是将Excel文件转换为带页码的PDF的具体步骤:

  • 创建Workbook类的对象。
  • 使用Workbook.LoadFromFile()方法打开Excel XLS或XLSX文件。
  • 循环遍历Excel文件中的工作表,并使用Worksheet.PageSetup.CenterFooter属性在每个工作表的页脚中间位置插入页码。
  • 使用Workbook.SaveToFile()方法将Excel文件保存为带页码的PDF。

实现代码:

from spire.xls import *
from spire.xls.common import *

# 打开Excel XLS或XLSX文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 遍历文件中的每个工作表
for sheet in workbook.Worksheets:
    # 在每个工作表的页脚中间位置插入页码,格式为 “第X页,共Y页”
    sheet.PageSetup.CenterFooter = "第 &P 页,共 &N 页"    

# 将Excel文件转换为带页码的PDF格式
workbook.SaveToFile("Excel转换为带页码的PDF.pdf", FileFormat.PDF)
workbook.Dispose()

Python将Excel文件转换为特定页面尺寸的PDF

在某些情况下,用户可能需要将Excel文件转换为具有特定页面尺寸的PDF,以满足打印或展示的要求。

在Spire.XLS for Python中,我们可以通过两种方式设置工作表的页面尺寸:

  • 标准页面尺寸:使用Worksheet.PageSetup.PaperSize属性选择预定义的页面尺寸(如A4、A3等)。
  • 自定义页面尺寸:使用Worksheet.PageSetup.SetCustomPaperSize()方法自定义页面尺寸;在该方法中,我们可以手动指定页面的宽度和高度。

下面是将Excel文件转换为特定页面尺寸的PDF的实现代码:

from spire.xls import *
from spire.xls.common import *

# 打开Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 遍历文件中的每个工作表
for sheet in workbook.Worksheets:
    # 将每个工作表的页面尺寸设置为A3标准页面尺寸
    sheet.PageSetup.PaperSize = PaperSizeType.PaperA3  
    # 或将每个工作表的页面尺寸设置为自定义页面尺寸
    # sheet.PageSetup.SetCustomPaperSize(500, 500)  

# 将Excel文件转换为PDF格式
workbook.SaveToFile("Excel转换为特定页面尺寸的PDF.pdf", FileFormat.PDF)
workbook.Dispose()

Python将Excel文件转换为PDF并将内容适应到一页

将Excel文件转换为PDF并确保内容适应到一页是处理大型电子表格时的理想选择。这种方法可以有效地缩放数据,以避免信息分布在多页上,从而提高可读性和整洁度。

通过Worksheet.PageSetup.FitToPagesTall和Worksheet.PageSetup.FitToPagesWide属性,我们可以将Excel工作表的内容适应到1页高度和1页宽度。

实现代码:

from spire.xls import *
from spire.xls.common import *

# 打开Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 遍历文件中的每个工作表
for sheet in workbook.Worksheets:
    # 将工作表内容适应1页高度
    sheet.PageSetup.FitToPagesTall = 1
    # 将工作表内容适应1页宽度
    sheet.PageSetup.FitToPagesWide = 1   

# 将Excel文件转换为PDF格式
workbook.SaveToFile("Excel转PDF并适应页面.pdf", FileFormat.PDF)
workbook.Dispose()

Python将Excel文件转换为PDF/A

PDF/A是一种专为长期存档设计的PDF格式,确保文档在未来的可读性和完整性。将Excel文件转换为PDF/A能够满足行业标准,确保文件中嵌入的字体、元数据和数字签名等信息得到妥善保存。这对于需要遵循严格合规性的行业尤为重要,如金融和法律领域。

使用Spire.XLS for Python,我们可以将Excel文件转换为多种PDF/A格式,包括:

  • PDF/A-1a
  • PDF/A-1b
  • PDF/A-2a
  • PDF/A-2b
  • PDF/A-3a
  • PDF/A-3b

下面是将Excel文件转换为PDF/A-1a格式的实现代码:

from spire.xls import *
from spire.xls.common import *

# 打开Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 指定PDF/A标准为PDF/A-1a
workbook.ConverterSetting.PdfConformanceLevel = PdfConformanceLevel.Pdf_A1A

# 将Excel文件转换为PDF/A-1a格式
workbook.SaveToFile("Excel转换PDFA.pdf", FileFormat.PDF)
workbook.Dispose()

Python将Excel文件中的工作表转换为单独的PDF

在需要单独分享Excel文件的每个工作表时,将它们转换为单独的PDF文件是一种有效的解决方案。

使用Spire.XLS for Python提供的Worksheet.SaveToPdf()方法,我们可以将Excel文件的工作表转换为单独的PDF文件。

实现代码:

from spire.xls import *
from spire.xls.common import *

# 打开Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 遍历文件中的工作表
for sheet in workbook.Worksheets:
    fileName =  sheet.Name + ".pdf"
    # 将每个工作表保存为单独的PDF
    sheet.SaveToPdf(fileName)
workbook.Dispose()

Python将Excel工作表中的特定单元格区域转换为PDF

有时,用户可能只希望将Excel工作表中的特定单元格区域转换为PDF,而不是整个工作表。这种选项允许用户精确控制所共享或打印的数据,确保只包含最相关的信息。通过定义打印区域,用户可以轻松生成仅包含所需数据的PDF文档,提升文件的专业性和针对性。

通过Worksheet.PageSetup.PrintArea属性,我们可以控制需要转换为PDF的单元格区域。

实现代码:

from spire.xls import *
from spire.xls.common import *

# 打开Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 获取第一个工作表
worksheet = workbook.Worksheets[0]

# 指定需要转换的单元格区域
worksheet.PageSetup.PrintArea = "A1:C5"

# 将指定的单元格区域保存为PDF
worksheet.SaveToPdf("单元格区域转PDF.pdf")
workbook.Dispose()

转换过程中可能遇到的问题及解决方案

Spire.XLS在转换时会在系统中查找Excel文档中所使用的字体来绘制PDF。如果没有找到一样的字体,则会使用近似字体进行绘制。如果近似字体也没有,则可能会抛出字体缺失异常。因此,如果 PDF 字体显示异常,或出现缺少字体错误,我们需要检查系统中是否安装了Excel文档中所使用的字体。如果不想安装字体,可以将字体文件放在一个具有访问权限的文件夹下,然后通过代码指定字体文件夹的路径:

from spire.xls import *
from spire.xls.common import *

# 打开Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 指定字体文件夹的路径
workbook.CustomFontFileDirectory= [("Fonts/")]

# 将Excel文件转换为PDF
workbook.SaveToFile(“Excel转PDF指定字体路径.pdf”, FileFormat.PDF)
workbook.Dispose()

总结

由于篇幅有限,本文仅介绍了七种转换设置。实际上,还有许多其他选项可供选择,例如调整或删除Excel工作表的页边距(如worksheet.PageSetup.LeftMargin = 0),以改变PDF页面边缘的空白区域宽度。

本文完结。

Python实用技巧:将 Excel转为PDF 将Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致。今天给大家分享一个使用第三方Python库Spire.XLS for Python 实现Excel转PDF的简单方法。 阅读详情

相关推荐

利用python将单个Excel文件转换为PDF

利用python将单个Excel文件转换为PDF

qq_57187936的博客 6145

用python把当前路径下excel转化为pdf

您可以使用 python 中的第三方库,如 openpyxl 和 reportlab 来实现将 excel 转换为 pdf。 首先,使用 openpyxl 读取 excel 文件: import openpyxl wb = openpyxl.load_workbook('example.xlsx') sheet = wb.active ...

weixin_42601608的博客 2116

python实现excel转换成pdf

需要安装pywin32包,以实现对Office文件的操作,可以批量转换为pdf文件。支持 doc, docx, ppt, pptx, xls, xlsx 等格式。学习笔记,如有侵权请联系删除,来源于。

yejuanworld的专栏 2042

从电子表格到纸张:Excel转PDF的神奇变身之旅!

当你需要将Excel文件转换为PDF时,可以使用Python编程语言和一些流行的库来实现这个任务。在本篇博客中,我将介绍如何使用wxPython、pandas和PyMuPDF库创建一个简单易用的图形用户界面(GUI)工具来完成这项工作。

Winfredzhang的博客 1321

想在Python中将Excel文件转换为PDF?来看看这份Aspose.Cells指南

如今,PDF已成为交换文档的标准文件格式。在互联网上共享各种流行的文档格式之前,先将它们转换为PDF。Excel到PDF是将工作表转换为只读PDF页面的一种流行的转换方案。因此,本文介绍了如何使用Python将Excel XLSX或XLS文件转换为PDF。 将Excel XLSX转换为PDF 使用Python将高级XLSX / XLS转换为PDF Aspose.Cells for Python via Java是一个功能强大的电子表格处理API,可让您从Python应用程序内部创建,处理和转换Excel

mnrssj的博客 5019

Python 实现Excel转TXT,或TXT文本导入Excel

本文介绍了如何使用Python将 Excel 转换为 TXT 格式,或者读取TXT文本数据导入Excel文件。

Eiceblue的专栏 1969

使用 Spire.XLS for Python 将 Excel 转换为 PDF

在许多商务工作流程中,Excel 文件常用于存储和分析数据。然而,在共享报告或发票时,将其转换为 PDF 能确保内容在不同设备上保持固定和可读。本文将演示如何使用 Spire.XLS for Python 将 Excel 文件轻松转换为 PDF——这是一款功能强大的库,可高效完成 Excel 文件处理与格式转换。

asdzx67的博客 1081

Python 将Word、Excel、PDF、PPT文档转换为OFD文档

本文提供示例代码介绍如何使用Python将Office文档(如Word、Excel或PowerPoint)及PDF文档转换为OFD格式。

Eiceblue的专栏 1950

python 将xls、xlsx、doc、docx文件转为pdf

这个主要参照 https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.office.tools.excel.worksheet.pagesetup?view=vsto-2017 官网对于pageSetup属性的描述 #-*- coding:utf-8 -*- import os import win32api#需要下载pywin32的包 import win32com.client def pdf_xls(root,filename,name):#转换

baobeiyangbang的博客 2751

如何用Python处理文件:xls / xlsx / csv互相转换

如何用Python处理文件:xls / xlsx / csv互相转换

诸神缄默不语的博客 170

【搭建实战】全国天气预报看板搭建

不仅如此,码匠还一站式提供了企业内部系统常用的租户管理、细粒度的权限控制、审计日志等功能,让您快速搭建后台应用的同时,也为您的企业信息安全保驾护航。是一款国内研发的开发者友好的低代码平台,您无需了解React/Vue等框架的开发、部署等各种细节,就可以快速打通前后端,连接RESTAPI、MySQL、MongoDB等多种数据源,然后通过一套开箱即用的组件,轻松搭建功能完善的数据看板、数据洞察、Admin管理后台等多种应用。天气预报对我们的各项活动有很大的帮助,可以让我们合理安排自己的出行等活动。...

weixin_39545889的博客 426

MarkItDown文件转换完整教程:PDF、Word、Excel一键转Markdown,5分钟上手

MarkItDown 是一个把 PDF、Word、Excel、PPT、EPUB 等常见文件快速转换成 Markdown 的 Python 工具,转换过程全部在本地完成,一条命令就能跑通。如果你经常被各种格式的文件转换问题折磨,这篇文章会带你从零上手,把「文件转 Markdown」这件事彻底搞定。 ## 01 场景开场:一次文件转换的崩溃经历 先讲个真实场景。公司周报要求统一存成 Markdow

gitblog_00415的博客 1236

3D视觉引导技术在机器人焊接中的应用

通过对比传统的2D视觉和3D视觉技术在焊接领域的应用差异,探讨了3D视觉引导技术在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势。本文对3D视觉引导技术在机器人焊接中的应用进行了深入探讨,总结了其在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势,并通过应用案例展示了其在焊接路径规划、焊缝检测和焊接质量控制等方面的重要作用。1. 提高焊接精度:3D视觉引导技术能够精确测量焊接工件的三维形状和位置,为机器人提供精准的焊接路径规划和跟踪,从而提高焊接精度。三、3D视觉引导技术概述。

2302_79273122的博客 1835

Python Excel页眉页脚设置详解

本文详细介绍了如何使用 Python 在 Excel 中设置和自定义页眉和页脚。内容包括插入基础页眉和页脚、在页眉和页脚中添加图片、为奇偶页设置不同的页眉和页脚,以及为第一页设置不同的页眉和页脚。

nuclear2011的博客 1826

伯德图逆向工程:用MATLAB从扫频数据中提取系统特性的5个关键步骤

本文详细介绍了使用MATLAB从扫频数据中提取系统特性的5个关键步骤,包括数据预处理、频响特性提取、相位解缠绕、系统特性反演和结果验证。通过伯德图逆向工程技术,工程师可以有效分析黑箱系统的频率响应特性,解决噪声干扰和相位跳变等实际问题,提升控制系统调试效率。

weixin_29081163的博客 194

Trae AI开发工具:大前端环境配置与避坑指南

大前端开发的第一步往往不是选框架,而是搭建一套可靠的工具链。IDE作为编码、调试与AI能力协同的载体,直接决定后续开发的顺畅度。传统编辑器需要手动拼装插件生态,而新一代AI开发工具将对话、代码生成与项目脚手架能力内置到编辑器底层,降低了环境准备的门槛。Trae基于VS Code内核,兼容其插件体系,同时提供Chat、Builder、内联对话三种AI交互模式,适合从VS Code迁移的开发者,也适合大前端新人快速上手。安装时需认准官方渠道,注意Node.js、Git版本联动,配置自动格式化与手动更新策略,并结

weixin_26833139的博客 279

python批量将excel转成pdf_python实现excel转换成pdf

#-*- coding:utf-8 -*-importosfrom win32com.client importDispatch, constants, gencache, DispatchExclassPDFConverter:def __init__(self, pathname, export='.'):self._handle_postfix= ['doc', 'docx', 'ppt',...

weixin_39955418的博客 776

采购订单定价策略 超详细

‘需求’字段里填写的是一个例程编号(例程是一段判断程序),如果我们在需求中维护了例程编号,那只有这个例程条件被满足时,这个条件表才会被系统自动读取。一部分的条件表只有在凭证项目满足一定的条件时才会被读取。 ‘排斥的’字段如果别勾中的话,那表明如果这个条件表被系统成功读取到数据后,系统将停止这个存取顺序的执行,否则,系统将继续执行下去。 注意:a、如果我们给某个条件类型设定了有效期的话,那我们必须给这个条件类型分配一个存取顺序。 b、不能给一个抬头条件分配存取顺序。 是...

竹大的博客 1万+

MarkItDown 文档转换完全指南:Office 文档与 PDF 转 Markdown 教程

把 PDF、Word、Excel 等文件喂给大模型前,通常要先转成保留标题、表格、列表的文本,这一步手动做既慢又容易丢结构。MarkItDown 是微软 AutoGen 团队开发的文档转换工具,能把 10 多种文件格式(Office 文档、PDF、图像、音频等)转成 Markdown,并提供命令行与 Python API 两种用法。 ## MarkItDown 是什么:给大模型读的文档翻译器

gitblog_00096的博客 954

【python数据挖掘课程】二十八.基于LDA和pyLDAvis的主题挖掘及可视化分析

这是《Python数据挖掘课程》系列文章,前面很多文章都讲解了数据挖掘、机器学习,这篇文章主要讲解LDA和pyLDAvis算法,同时讲解如何读取CSV文本内容进行主题挖掘及可视化展示。文章比较基础,希望对你有所帮助,提供些思路,也是自己教学的内容。推荐大家购买作者新书《Python网络数据爬取及分析从入门到精通(分析篇)》,如果文章中存在错误或不足之处,还请海涵。 目录: 一.显示结果及安装 二.LDA主题挖掘 三.pyLDAvis可视化分析 四.小结

杨秀璋的专栏 1万+

5、卡尔ibration中Denavit - Hartenberg与Hayati约定的转换

本文详细介绍了机器人运动学中Denavit-Hartenberg(DH)参数与Hayati参数的定义、适用场景及其相互转换方法。重点分析了两种参数在描述关节坐标系变换时的差异,特别是在处理平行或接近平行关节轴时的稳定性问题,并给出了从DH到Hayati及反向转换的具体数学公式与流程图。通过参数转换,可在不改变运动学模型的前提下提升建模精度与计算鲁棒性,适用于机器人标定与运动学分析等应用场景。

h0i1j2k3l的博客 120

python xlsx转xls_使用python将.xlsx和xls(最新版本)转换为pdf

借助这个.doc to pdf using python链接我正在尝试excel(.xlsx和xls格式)以下是Excel的修改代码:import osfrom win32com import clientfolder = "C:\\Oprance\\Excel\\XlsxWriter-0.5.1"file_type = 'xlsx'out_folder = folder + "\\PDF_exc...

weixin_39644021的博客 534

2026保姆级:1小时搞定C# OPC UA客户端开发——PLC与上位机全量数据交互零基础教程

本文介绍了使用C#开发OPC UA客户端的核心流程和关键代码实现。文章首先指出工业上位机开发中OPC UA的重要性,并针对新手常见问题提出了1小时掌握核心功能的解决方案。重点内容包括:选择官方.NET Standard库的优势、5分钟搭建开发环境的步骤、OPC UA客户端架构与通信流程的图解说明,以及完整的客户端基础类代码实现,涵盖了连接管理、证书配置、安全认证等关键功能。通过本文提供的代码模板,开发者可快速实现与PLC等工业设备的稳定数据交互。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 793

docx、excel、word转pdf文件

Transform Excel and Word files into the PDF file format for easy sharing and viewing purposes.

斯人若彩虹,遇上方知有! 2733

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文件转 Markdown 终极指南:用 MarkItDown 一条命令搞定 PDF、Word 与 Excel

MarkItDown 是一个能把 PDF、Word、Excel、PPT、图片甚至音频统一转换为 Markdown 的开源文件转换工具,专为"喂给大模型、做文本分析、整理资料"而生。如果你正在为格式转换头疼,这篇文件转 Markdown 实操教程会带你从安装到批量处理一步步走通。 ## 又一个深夜,你在手动整理 20 份文档 先讲一个可能让你膝盖中箭的场景:你刚收到一个压缩包,里面是 20 份格

gitblog_00773的博客 722

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Python 获取PDF的各种页面信息(页数、页面尺寸、旋转角度、页面方向等)
下一篇: 使用Python 在Excel中创建和取消数据分组 - 详解
nuclear2011
博客等级 码龄15年 943粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值