如何在Python或NodeJS中将.xls(x)文件转换为PDF(不带Windows)



我正在使用Lambda函数在AWS中构建一个项目,我需要将一些.xls(x(文件转换为pdf。我发现这种功能总是附加在Microsoft Office库中,所以如果我想转换Office的文件,我需要在Windows中。有什么方法可以在没有第三方供应商的情况下实现此功能(Python3.x或NodeJS(?

作为我工作道路的一部分,我试图通过Python Pandas和Python xlrd获得信息,希望自己创建pdf文件,我也尝试了一些Node和Python库(但都取决于Windows(。我也看到了一些服务的价格。

有什么建议吗?

我仍在寻求帮助,但我找到了一种在一定程度上有帮助的方法(这不是我的解决方案,但可以帮助别人(。

我使用的是xhtml2pdf和Pandas库。我用Pandas获取xls(x(内容,然后将文件导出为HTML,最后我从中创建了一个PDF。

主要的问题是结构,我失去了布局、颜色、字体和所有漂亮的视图,但我保留了单元格中的值。

from xhtml2pdf import pisa
import pandas as pd
xl = pd.ExcelFile("myExcelFile.xlsx")
df = xl.parse("sheet_name")
# Some cleaning
df.dropna(how="all") # If the row is completely NaN
df.dropna(how="all", axis="columns") # If the column is completely NaN
df.fillna("") # I delete the NaN values (just for beautify)
df.to_html('htmlFile.html', border=0)
with open("htmlFile.html", "r") as htmlFile:
with open("pdfFile.pdf", "w+b") as resultFile:
pisaStatus = pisa.CreatePDF(htmlFile, dest=resultFile)

最新更新