2016-04-28 6 views
1

nReco HtmlToPdfConverterクラスを使用して、htmlドキュメントをpdfに変換しようとしています。 1つの例外を除いて、これは正常に動作します。私はdocument.readyで実行されているjavascriptを持っていて、javascriptはhtmlがpdfに変換された時点でレンダリングされないので、PDFでレンダリングされないバーコード(javascriptで生成)が生成されます。私は、ドキュメントが準備ができて、これを行う方法が見つからないようになるまで変換を遅らせる方法を探しています。現在、私は私のHTMLドキュメントを変換するには、以下を使用しています:c#mvc nreco HtmlToPdfConverterの問題がhtmlドキュメントをpdfに変換する

var converter = new HtmlToPdfConverter {PageFooterHtml = "<div>Page: <span class='page'></span><div>", Margins = new PageMargins() { 
       Bottom = 10, 
    }, CustomWkHtmlArgs = "--print-media-type" 
    }; 
    var pdfBytes = converter.GeneratePdfFromFile(url, null); 

のようにPDFにレンダリングされていない私のhtmlページではJavaScriptが見えます:JavaScriptの実行のためのWkhtmltopdfのデフォルトの遅延がある

<script> 
    $(document).ready(function() { 
     ..javascript which changes my html 
    }); 
</script> 

答えて

1

200ms;それは簡単に次のように増加させることができる。wkhtmltopdfは、いくつかの特定よるwindow.statusの値を待つことができます:あなたはそれがコードが実行されるJSを確認するために別のアプローチを使用することができます

var pdfGen = new HtmlToPdfConverter(); 
pdfGen.CustomWkHtmlArgs = " --javascript-delay 1000 "; // 1 sec delay for js execution 

注意を。この状態を待つwkhtmltopdfを

window.status = "READY"; 

をと言う:たとえば、あなたは、バーコードのレンダリングが終了したときによるwindow.statusを変更することができます

pdfGen.CustomWkHtmlArgs = " --window-status READY "; 
+0

完璧に。その文字列 '--javascript-delay 1000 'を使用したところで好奇心をそそられました。ドキュメントをよく見て、' CustomWkHtmlArgs'に渡すことができるものは何も表示されません。 – GregH

+0

@peggy利用可能な完全なリスト"wkhtmltopdf --help"を実行してオプションを指定してください –

+0

こんにちは私はNReco.PdfGenerator.dllを使用しています。私は、wkhtmltopdf.exe、msvcp120.dll、msvcr.dllがrootディレクトリのbinの外側に作成されていることを確認しました。誰も同じ経験ですか? –

関連する問題