C # DynamicPDF Слияние, приводящее к ошибке «Индекс выходит за границы» - PullRequest
2 голосов
/ 21 мая 2010

Привет, Мы используем DynamicPDF для объединения нескольких документов PDF, хранящихся в базе данных MSSQL. В большинстве случаев это работает замечательно, но иногда один из этих документов не может слиться, генерируя сообщение об исключении «Индекс находился за пределами массива». Я думаю, что я изолировал проблему с файлами PDF, которые больше, чем 8,5 x 11,0.

Кто-нибудь знает, если это известная проблема с 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 Ответ

0 голосов
/ 22 мая 2010

Следующее, что я хотел бы сделать, это отследить значения

bytePDFArray.length

и

iContentSize
...