gpt4 book ai didi

Python - 将 XLSX 转换为 PDF

转载 作者:行者123 更新时间:2023-12-01 23:11:00 25 4
gpt4 key购买 nike

我一直在开发服务器中使用 win32com 模块来轻松从 xlsx 转换为 pdf:

o = win32com.client.Dispatch("Excel.Application")
o.Visible = False
o.DisplayAlerts = False
wb = o.Workbooks.Open("test.xlsx")))
wb.WorkSheets("sheet1").Select()
wb.ActiveSheet.ExportAsFixedFormat(0, "test.pdf")
o.Quit()

但是,我已在生产服务器中部署了 Django 应用程序,但我没有安装 Excel 应用程序,并且会引发以下错误:

File "C:\virtualenvs\structuraldb\lib\site-packages\win32com\client\__init__.p
y", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,c
lsctx)
File "C:\virtualenvs\structuraldb\lib\site-packages\win32com\client\dynamic.py
", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\virtualenvs\structuraldb\lib\site-packages\win32com\client\dynamic.py
", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.II
D_IDispatch)
com_error: (-2147221005, 'Invalid class string', None, None)

有没有什么好的替代方法可以在Python中将xlsx转换为PDF

我已经使用 PDFWriter 测试了 xtopdf,但是使用此解决方案,您需要读取和迭代范围并逐行写入。我想知道是否有类似win32com.client的更直接的解决方案。

谢谢!

最佳答案

作为我原来的answer被删除了,最终有点用,我在这里重新发布。

您只需 3 个步骤即可完成:

  1. excel 到 pandas:pandas.read_excel
  2. pandas 到 HTML:pandas.DataFrame.to_html
  3. HTML 转 pdf:python-pdfkit (git) , python-pdfkit (pypi.org)
import pandas as pd
import pdfkit

df = pd.read_excel("file.xlsx")
df.to_html("file.html")
pdfkit.from_file("file.html", "file.pdf")

安装:

sudo pip3.6 install pandas xlrd pdfkit
sudo apt-get install wkhtmltopdf

关于Python - 将 XLSX 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52326782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com