2017-02-21 2 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

는 내 자바 스크립트에 문제가 코드 아래 html2canvas

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

IndexOutOfBounds 예외를 throw합니다 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성공적 값으로 각각 HiddenFieldbase64 string을 통과 CodeBehind에 액세스 성공적이다. 5 HiddenFields return NULL을 만드는 내 스크립트의 문제점은 무엇입니까?

답변

0

var myImage = canvas.toDataURL("image/png");을 함수의 다른 이름으로 변경해 보았습니까?

관련 문제