代码之家  ›  专栏  ›  技术社区  ›  DiningPhilanderer

c dynamicpdf合并导致“索引越界”错误

  •  2
  • DiningPhilanderer  · 技术社区  · 16 年前

    问候语, 我们使用dynamicpdf合并存储在MSSQL数据库中的多个PDF文档。绝大多数情况下,它工作得很好,但偶尔这些文档中的一个将无法合并,从而生成异常消息“索引超出了数组的界限”。

    我认为我已经将问题隔离到大于8.5 x 11.0的PDF文件中。

    有人知道这是否是dynamicpdf的已知问题吗?合并代码发布在这里。理想的情况是,如果有一种方法可以将PDF文件的大小调整到正确的大小,这样就完全不需要担心了…

    for (int docs = 0; docs < dsPDFInfo.Tables[0].Rows.Count; docs++)
    {
        byte[] bytePDFArray = (byte[])dsPDFInfo.Tables[0].Rows[docs]["Content"];
        int iContentSize = Convert.ToInt32(dsPDFInfo.Tables[0].Rows[docs]["ContentSize"]);
    
        MemoryStream ms = new MemoryStream(bytePDFArray, 0, iContentSize);
        ceTe.DynamicPDF.Merger.PdfDocument pdfdoc = new ceTe.DynamicPDF.Merger.PdfDocument(ms);
        ceTe.DynamicPDF.Merger.MergeDocument mergedoc = new ceTe.DynamicPDF.Merger.MergeDocument(pdfdoc);
    
        docCombinedPDF.Append(mergedoc);
    }
    

    谢谢。。。。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Ingo    16 年前

    接下来我要做的是跟踪

    bytePDFArray.length
    

    iContentSize