簡體   English   中英

Reactjs 使用 phpwkhtmltopdf 生成 pdf

[英]Reactjs generating pdf using phpwkhtmltopdf

我是 reactJs 的新手。 我創建了一個組件來生成報告,並將其作為節點模塊拉到我的 php 應用程序中,在那里我創建了一個 smarty 模板(.tpl),因為我正在使用 main.version.js、main.version.css 文件在構建中並通過數據屬性將所需數據傳遞給組件,我可以查看報告。 現在的問題是當我們從瀏覽器單擊打印超鏈接時,我必須生成一個 pdf。 為此,我們使用 wkhtmltopdf 轉換器,使用它我們能夠合並不同的 pdf 並生成單個 pdf。 在這里,我得到了一個空白頁。 如果我給出一些工作正常但不適用於反應組件內容的文本。 這個反應組件失敗了。 請指導我正確的方向。

<html>
<head>
    <link href="{$baseUrl}node_modules/react-component-report/build/main.xxx.css" rel="stylesheet" type="text/css"/>
</head>
<body>
    <div id="root" data-title="Hello" data-name="World" data-reportcontent='{literal}{"users": [11,5],"dates": "2017-09-17" }{/literal}'></div>
    <script src="{$baseUrl}node_modules/react-component-report/build/main.xxx.js"></script>
</body>
</html>

如果我理解正確的話wktohtml是一個命令行實用程序,並且您將它指向包含 react 代碼的網頁的 url。 您正在嘗試讓該命令行實用程序將 react 生成的頁面渲染為 PDF。

如果這是正確的,我認為問題在於 react 是一種客戶端語言,因此它需要 javascript 才能實際呈現。

您可以通過從命令行使用curl加載相同的 url 來查看腳本嘗試呈現的 html。 你會看到它只包含一些腳本標簽和一個空的包裝器,你的應用程序將在其中安裝。

有一些方法可以使用node.js來服務器渲染 react.js,或者您可以查看其他生成 PDF 的方法。 這個庫看起來可以讓你從瀏覽器生成 PDF。

可以在此處找到有關如何解決此問題的更多示例: http : //blog.stahlmandesign.com/export-html-to-pdf-how-hard-can-it-be/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM