1

グラフにjqplotを使用し、Google Datatableを使用してデータを表形式で表示するWebページがあります。ダウンロード用の Web ページの PDF コピーを生成するために、Web ページに「エクスポート」ハイパーリンクもあります。私のエクスポートコードは次のようになります。

function exportPDF() {
    var img = $('#clicks_chart_div').jqplotToImage(0, 0); 
    if (img) {
        var imgTag = $('<img id="ccanvasimage">');
        imgTag.attr('src', img.toDataURL("image/png"));
        imgTag.attr('width', 450);
        imgTag.attr('height', 320);
        $('#clicks_chart_div').replaceWith(imgTag);
    } else {
        alert('could not get image');
    }
    $('#src').val(document.documentElement.innerHTML);
    $('#frmSource').submit();
  }

このコードはブラウザーで適切に機能し、それぞれの PDF をダウンロードします。ただし、HTMLUnit を介して同じページを呼び出すと、「var img = $('#clicks_chart_div').jqplotToImage(0, 0);」という呼び出しが行われます。画像を生成できず、else の部分「alert('could not get image');」に進みます。したがって、結果の PDF には Datatable のみが含まれ、グラフは含まれません。

呼び出し jqplotToImage が失敗する理由について何か考えはありますか? FWIW、jqplotToImage のコードは、次のように外部スクリプトを介して含まれています。

<script language="javascript" type="text/javascript" src="javascripts/export-jqplot-to-png.js"></script>

ありがとう。

4

0 に答える 0