2017-09-30 19 views
0

私はreactJsに新しいです。私はレポートを生成するためのコンポーネントを作成し、私はそれを私のPHPアプリケーションにノードモジュールとしてプルしています。そこには、main.version.js、main.version.cssファイルを使用しているというスマートなテンプレート(.tpl)ビルドに必要なデータをデータ属性でコンポーネントに渡して、レポートを表示することができます。今、問題は、ブラウザから印刷ハイパーリンクをクリックするとpdfを生成する必要があることです。このために我々はwkhtmltopdfコンバータを使用しています。これを使用して、さまざまなpdfsをマージして単一のpdfを生成することができます。ここで空白のページが表示されます。私がうまく働いていますが、反応成分の内容では機能していないテキストをいくつか与えてもらえますか?この反応成分は失敗しています。私を正しい方向に導いてください。phpwkhtmltopdfを使用して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> 

答えて

0

私が正しく理解していればwktohtmlは、コマンドラインユーティリティです、そしてあなたは、コードを反応させる含まれているWebページのURL、でそれを指しています。そのコマンドラインユーティリティを使用して、反応生成ページをPDFにレンダリングさせようとしています。

これが正しいとすれば、私は問題は反応がクライアント側の言語だと思うので、実際にレンダリングするにはjavascriptが必要です。

コマンドラインからcurlという同じURLをロードすることで、スクリプトがレンダリングしようとしているhtmlを確認できます。あなたはそれがちょうどいくつかのスクリプトタグとあなたのアプリがマウントされる空のラッパーを含んでいることがわかります。

react.jsをサーバnode.jsでレンダリングする方法や、PDFを生成する他の方法を見ることができます。 This libraryは、ブラウザからPDFを生成させることができるようです。この問題を解決する方法の

いくつかのより多くの例がここで見つけることができます:http://blog.stahlmandesign.com/export-html-to-pdf-how-hard-can-it-be/

+0

@srivi、これは、あなたの質問に答えるのでしょうか? – Mobius

関連する問題