4 回答

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
Weasyprint 需要安裝一些依賴項(xiàng),認(rèn)為不可能在 heroku 上安裝它。我在本地對(duì)其進(jìn)行了測試,它運(yùn)行良好,設(shè)置完成后,很容易提供一個(gè)漂亮的動(dòng)態(tài) html 文檔并獲得一個(gè)可靠的 pdf 作為回報(bào)。
heroku 提供了一個(gè) web2pdf 插件: https ://elements.heroku.com/addons/webtopdf#details
我還沒有測試它,但它看起來很有希望。

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
我剛剛將WeasyPrint添加到我的Django程序中。我在本地和Heroku上都對(duì)其進(jìn)行了測試。它在兩個(gè)地方都非常有效。
如果您使用的是 Django,您可以先運(yùn)行 pip3 freeze 以獲取正確的 WeasyPrint 信息(版本)以在您的需求文件中使用:
$ pip3 freeze
然后查找 WeasyPrint 信息。對(duì)我來說,它是以下行:
WeasyPrint==51
將此行添加到requirements.txt文件中。然后運(yùn)行:
$ git add -A
$ git commit -m "Changed requirements"
$ git push heroku master
Heroku 添加了 WeasyPrint 及其依賴項(xiàng)。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
WeasyPrint 比 ReportLab 更易于使用,weasyprint 的唯一問題是它不能正確處理分頁符(因?yàn)槟趯?HTML 頁面轉(zhuǎn)換為 PDF),如果您的報(bào)告超過 1 頁,這可能會(huì)破壞交易(例如表格)

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
我有最重要的 Reportlab 經(jīng)驗(yàn)。要啟動(dòng)并運(yùn)行它需要您付出很多努力,它不能“開箱即用”并且涉及大量編程(您需要?jiǎng)?chuàng)建模板,圍繞文本構(gòu)建邏輯,圍繞批處理作業(yè)構(gòu)建例程等) . 它作為一個(gè)普通的 PIP 包安裝,但是你需要開始編程才能讓它工作。
但是,看起來 Weasyprint 使用另一種技術(shù)來生成 pdf(用于打印的 CSS),如果您已經(jīng)擁有使用 CSS 格式化的頁面,這可能是一種更容易訪問的解決方案。
添加回答
舉報(bào)