2017-02-21 3 views
0

を引き起こします。私はバイナリ画像</strong>と<strong>PDF生成</strong>を追加<strong><strong>ためITextSharp</strong>と<strong>html2canvas</strong>を使用していIndexOutOfRangeException

以下は、私のCodebehindコードのスニペットです。

var overallResultsBase64string = hdnOverallResults.Value.Replace("data:image/png;base64,", ""); 
var appServerCapacityBase64string = hdnAppServerCapacity.Value.Replace("data:image/png;base64,", ""); 
var appPerformanceBase64string = hdnAppPerformance.Value.Replace("data:image/png;base64,", ""); 
var dbServerCapacityBase64string = hdnDBServerCapacity.Value.Replace("data:image/png;base64,", ""); 
var dbPerformanceBase64string = hdnDBPerformance.Value.Replace("data:image/png;base64,", ""); 

iTextSharp.text.Image overallResultsImg, appServerCapacityImg, appPerformanceImg 
    , dbServerCapacityImg, dbPerformanceImg; 

byte[] overallResultsBytes = Convert.FromBase64String(overallResultsBase64string); 
overallResultsImg = iTextSharp.text.Image.GetInstance(overallResultsBytes); 
byte[] appServerCapacityBytes = Convert.FromBase64String(appServerCapacityBase64string); 
appServerCapacityImg = iTextSharp.text.Image.GetInstance(appServerCapacityBytes); 
byte[] appPerformanceBytes = Convert.FromBase64String(appPerformanceBase64string); 
appPerformanceImg = iTextSharp.text.Image.GetInstance(appPerformanceBytes); 
byte[] dbServerCapacityBytes = Convert.FromBase64String(dbServerCapacityBase64string); 
dbServerCapacityImg = iTextSharp.text.Image.GetInstance(dbServerCapacityBytes); 
byte[] dbPerformanceBytes = Convert.FromBase64String(dbPerformanceBase64string); 
dbPerformanceImg = iTextSharp.text.Image.GetInstance(dbPerformanceBytes); 

document.Add(overallResultsImg); 
document.Add(new Paragraph("OVERALL APPLICATION PERFORMANCE")); 
document.Add(appPerformanceImg); 
document.Add(dbPerformanceImg); 
document.Add(new Paragraph("OVERALL SERVER CAPACITY")); 
document.Add(appServerCapacityImg); 
document.Add(dbServerCapacityImg); 

var appServerCapacityBase64stringそれは私のJavascriptが以下コードをhtml2canvasに何か問題があるの

byte[] appServerCapacityBytes = Convert.FromBase64String(appServerCapacityBase64string); 
appServerCapacityImg = iTextSharp.text.Image.GetInstance(appServerCapacityBytes); 

IndexOutOfBounds例外をスローすることNULLのですか?親切にチェックしてください。

<script> 
    html2canvas($("#overallResultsDiv"), { 
     onrendered: function (canvas) { 
      // canvas is the final rendered <canvas> element 
      var myImage = canvas.toDataURL("image/png"); 
      document.getElementById("hdnOverallResults").value = myImage; 
     } 
    }); 

    html2canvas($("#appServerCapacityDiv"), { 
     onrendered: function (canvas) { 
      // canvas is the final rendered <canvas> element 
      var myImage = canvas.toDataURL("image/png"); 
      $("#hdnAppServerCapacity").value = myImage; 
     } 
    }); 

    html2canvas($("#appPerformanceDiv"), { 
     onrendered: function (canvas) { 
      // canvas is the final rendered <canvas> element 
      var myImage = canvas.toDataURL("image/png"); 
      document.getElementById("hdnAppPerformance").value = myImage; 
     } 
    }); 

    html2canvas($("#dbServerCapacityDiv"), { 
     onrendered: function (canvas) { 
      // canvas is the final rendered <canvas> element 
      var myImage = canvas.toDataURL("image/png"); 
      document.getElementById("hdnDBServerCapacity").value = myImage; 
     } 
    }); 

    html2canvas($("#dbPerformanceDiv"), { 
     onrendered: function (canvas) { 
      // canvas is the final rendered <canvas> element 
      var myImage = canvas.toDataURL("image/png"); 
      document.getElementById("hdnDBPerformance").value = myImage; 
     } 
    }); 
</script> 

ONLY第html2canvas正常値としてそれぞれHiddenFieldからbase64 stringを通過しCodeBehindでアクセス正常あります。 5 HiddenFields返すNULLを作成するスクリプトで何が問題になっていますか?

答えて

0

var myImage = canvas.toDataURL("image/png");を機能の異なる名前に変更しようとしましたか?