【问题标题】:Adding multiple ITextSharp binary images using byte array causes IndexOutOfRangeException使用字节数组添加多个 ITextSharp 二进制图像会导致 IndexOutOfRangeException
【发布时间】:2017-02-21 05:18:10
【问题描述】:

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

下面是我的Codebehind 代码的 sn-p。

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 appServerCapacityBase64stringNULL,它会在

上引发 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 成功base64 string 作为值传递给相应的 HiddenField 并且成功 strong> 在CodeBehind 中访问。我的脚本有什么问题导致5 HiddenFields 返回NULL

【问题讨论】:

    标签: javascript c# asp.net itext html2canvas


    【解决方案1】:

    您是否尝试过在您的函数中将var myImage = canvas.toDataURL("image/png"); 更改为不同的名称?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      相关资源
      最近更新 更多