Javascript 使用字节数组添加多个ITextSharp二进制图像会导致IndexOutOfRangeException

Javascript 使用字节数组添加多个ITextSharp二进制图像会导致IndexOutOfRangeException,javascript,c#,asp.net,itext,html2canvas,Javascript,C#,Asp.net,Itext,Html2canvas,我正在使用ITextSharp和html2canvas添加二进制图像和生成PDF 下面是我的codebhind代码的一个片段 var overallResultsBase64string = hdnOverallResults.Value.Replace("data:image/png;base64,", ""); var appServerCapacityBase64string = hdnAppServerCapacity.Value.Replace("data:image/png;base

我正在使用ITextSharphtml2canvas添加二进制图像和生成PDF

下面是我的
codebhind
代码的一个片段

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
NULL
,它会在其上引发
IndexOutOfBounds
异常

byte[] appServerCapacityBytes = Convert.FromBase64String(appServerCapacityBase64string);
appServerCapacityImg = iTextSharp.text.Image.GetInstance(appServerCapacityBytes);
下面我的Javascript html2canvas代码是否有问题?请查收

<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>

html2canvas($(“#总体结果div”){
onrendered:函数(画布){
//画布是最终渲染的元素
var myImage=canvas.toDataURL(“image/png”);
document.getElementById(“hdnoveralResults”).value=myImage;
}
});
html2canvas($(“#appServerCapacityDiv”){
onrendered:函数(画布){
//画布是最终渲染的元素
var myImage=canvas.toDataURL(“image/png”);
$(“#hdnAppServerCapacity”).value=myImage;
}
});
html2canvas($(“#appPerformanceDiv”){
onrendered:函数(画布){
//画布是最终渲染的元素
var myImage=canvas.toDataURL(“image/png”);
document.getElementById(“hdnAppPerformance”).value=myImage;
}
});
html2canvas($(“#dbServerCapacityDiv”){
onrendered:函数(画布){
//画布是最终渲染的元素
var myImage=canvas.toDataURL(“image/png”);
document.getElementById(“hdnDBServerCapacity”).value=myImage;
}
});
html2canvas($(“#dbPerformanceDiv”){
onrendered:函数(画布){
//画布是最终渲染的元素
var myImage=canvas.toDataURL(“image/png”);
document.getElementById(“hdnDBPerformance”).value=myImage;
}
});

第一个html2canvas成功将
base64字符串
作为值传递给相应的
HiddenField
,并在
codebeader
中成功访问。我的脚本使
5个隐藏字段返回NULL,有什么问题吗?

您是否尝试过更改
var myImage=canvas.toDataURL(“image/png”)到函数中的不同名称