バイト配列のコレクションに格納されたいくつかの pdf ファイルのバイナリがあります。
私の目標は、abcpdf を使用してそれらを 1 つの .pdf ファイルに連結し、その新しく作成されたファイルを ASP.Net Web サイトのページの Response オブジェクトにストリーミングすることです。
このようにしていた:
ループ開始 ...
'Create a new Doc
Dim doc As Doc = New Doc
'Read the binary of the current PDF
doc.Read(bytes)
'Append to the master merged PDF doc
_mergedPDFDoc.Append(Doc)
エンドループ
これは、95% の時間で正常に機能していました。ただし、新しい Doc オブジェクトを作成すると、System.ExecutionEngineException がスローされ、CLR がクラッシュすることがありました。多数のpdf(2つだけで発生することもあります)、または大きなサイズのpdfに関連しているようには見えませんでした。ほぼ完全にランダムに見えました。
これは、abcpdf の既知のバグであり (あまりよくありません)、こちらの項目 6.24で説明されています。abcpdf Doc オブジェクトに Using ブロックを使用することを提案する、役立つ SO 投稿に出会いました。
だから今私はこれをやっています:
Using doc As New Doc
'Read the binary of the current PDF
doc.Read(bytes)
'Append to the master merged PDF doc
_mergedPDFDoc.Append(doc)
End Using
そして、問題が再び発生するのをまだ見たことがなく、テストバージョンをできる限り試してみました.
このエラーで似たような経験をした人はいますか? これで直りましたか?