2

こんにちは、DynamicPDF を使用して、MSSQL データベースに保存されている複数の PDF ドキュメントをマージします。ほとんどの場合、うまく機能しますが、これらのドキュメントの 1 つがマージに失敗し、「インデックスが配列の範囲外でした」という例外メッセージが生成されることがあります。

問題を 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);
}

ありがとう....

4

1 に答える 1

0

次に行うことは、の値をトレースすることです

bytePDFArray.length

iContentSize
于 2010-05-21T21:37:22.810 に答える