簡體   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