繁体   English   中英

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

[英]How to convert .xls(x) files into PDF in Python or NodeJS (without 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM