Python使用Spire.XLS for Python輕松實現(xiàn)Excel轉(zhuǎn)PDF的完整指南
在日常辦公和數(shù)據(jù)處理中,我們經(jīng)常需要將 Excel 文檔轉(zhuǎn)換為 PDF 格式。PDF 格式具有跨平臺兼容性好、格式固定不易篡改、便于分享和打印等優(yōu)勢,因此成為文檔分發(fā)的理想選擇。今天我們將介紹如何使用 Spire.XLS for Python 庫來實現(xiàn) Excel 到 PDF 的高效轉(zhuǎn)換,涵蓋從基礎轉(zhuǎn)換到高級設置的全流程。
環(huán)境準備與安裝
在開始之前,我們需要先用 pip 工具進行安裝:
pip install Spire.XLS
免費版 (有限制):
pip install Spire.XLS.Free
基礎 Excel 轉(zhuǎn) PDF 實現(xiàn)
讓我們從最基本的轉(zhuǎn)換開始,將整個 Excel 工作簿轉(zhuǎn)換為 PDF 文件:
from spire.xls import *
from spire.xls.common import *
# 加載 Excel
workbook = Workbook()
workbook.LoadFromFile("sample.xlsx")
# 設置工作表自適應頁面
workbook.ConverterSetting.SheetFitToPage = True
# 轉(zhuǎn)換為 PDF
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
workbook.Dispose()
這段代碼實現(xiàn)了最基本的轉(zhuǎn)換功能,主要包含三個步驟:
- 創(chuàng)建 Workbook 對象
- 加載 Excel 文件
- 保存為 PDF 格式
轉(zhuǎn)換指定工作表
有時我們不需要轉(zhuǎn)換整個工作簿,只需要轉(zhuǎn)換其中的一個或多個工作表。Spire.XLS 提供了靈活的選項來實現(xiàn)這一點:
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
# 轉(zhuǎn)換為 PDF
sheet.SaveToPdf("WorksheetToPdf.pdf")
workbook.Dispose()
高級 PDF 轉(zhuǎn)換設置
Spire.XLS 提供了豐富的轉(zhuǎn)換選項,讓我們可以自定義 PDF 的輸出效果。以下是一些常用的高級設置:
設置 PDF 導出參數(shù)
- 頁面方向(縱向/橫向)
- 紙張大?。ˋ4/A3)
- 頁邊距
- 是否顯示網(wǎng)格線
# 獲取 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 # 顯示網(wǎng)格線 pageSetup.IsPrintGridlines = true;
批量轉(zhuǎn)換多個 Excel 文件
當需要處理多個 Excel 文件時,我們可以編寫批量轉(zhuǎn)換腳本:
import os
from spire.xls import *
from spire.xls.common import *
def batch_excel_to_pdf(input_dir, output_dir):
"""
批量轉(zhuǎn)換指定目錄下的所有 Excel 文件為 PDF
參數(shù):
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 文件")
return
workbook = 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"正在轉(zhuǎn)換 {i}/{len(excel_files)}: {filename}")
# 加載并轉(zhuǎn)換
workbook.LoadFromFile(excel_path)
workbook.SaveToFile(pdf_path, FileFormat.PDF)
# 清空工作簿,準備下一個文件
workbook.Dispose()
workbook = Workbook()
print(f"已保存: {pdf_filename}")
print(f"批量轉(zhuǎn)換完成,共處理 {len(excel_files)} 個文件")
except Exception as e:
print(f"轉(zhuǎn)換過程中出錯: {str(e)}")
finally:
workbook.Dispose()
# 使用示例
if __name__ == "__main__":
input_directory = "需要轉(zhuǎn)換的Excel文件" # 存放Excel文件的目錄
output_directory = "轉(zhuǎn)換后的PDF文件" # 輸出PDF的目錄
batch_excel_to_pdf(input_directory, output_directory)
總結(jié)
Spire.XLS for Python 為 Excel 轉(zhuǎn) PDF 提供了強大而靈活的解決方案,無論是簡單的單文件轉(zhuǎn)換還是復雜的批量處理,都能輕松應對。通過本文介紹的方法,你可以根據(jù)實際需求定制轉(zhuǎn)換過程,獲得高質(zhì)量的 PDF 輸出。
到此這篇關(guān)于Python使用Spire.XLS for Python輕松實現(xiàn)Excel轉(zhuǎn)PDF的完整指南的文章就介紹到這了,更多相關(guān)Python Excel轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python自動化辦公之Excel、Word和PDF操作指南
- 使用Python將PDF轉(zhuǎn)成Excel的代碼實現(xiàn)
- Python高效實現(xiàn)Excel轉(zhuǎn)PDF的輕量化方案
- 使用Python高效實現(xiàn)Excel轉(zhuǎn)PDF
- Python自動化操作Excel/Word/PDF的實戰(zhàn)指南
- Python高效地將Excel轉(zhuǎn)換為PDF的實現(xiàn)方法
- Python使用Spire.XLS實現(xiàn)Excel轉(zhuǎn)PDF的實踐指南
- python實現(xiàn)pdf轉(zhuǎn)word和excel的示例代碼
相關(guān)文章
django+celery+RabbitMQ自定義多個消息隊列的實現(xiàn)
本文主要介紹了django+celery+RabbitMQ自定義多個消息隊列的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
python操作xls使用xlwings代提openpyxl基礎
這篇文章主要為大家介紹了python操作xls使用xlwings代提openpyxl示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
Python中二進制文件內(nèi)存映射技術(shù)的原理與應用詳解
這篇文章將深入探討Python中內(nèi)存映射技術(shù)的原理、用法和實際應用場景,從基礎概念到高級技巧,為讀者提供全面的專業(yè)指導,下面小編就來和大家詳細介紹一下吧2025-09-09
Python實現(xiàn)輸出某區(qū)間范圍內(nèi)全部素數(shù)的方法
這篇文章主要介紹了Python實現(xiàn)輸出某區(qū)間范圍內(nèi)全部素數(shù)的方法,涉及Python數(shù)值運算、排序、判斷等相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
Python編程入門之Hello World的三種實現(xiàn)方式
這篇文章主要介紹了Python編程入門之Hello World的三種實現(xiàn)方式,實例分析了print輸出函數(shù)的使用及控制臺輸出的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11

