ご返信を頂戴しありがとうございます。
頂いた情報も含めてこちらで事象の詳細を調査したところ、PDFレンダラをマルチスレッドに起動したことが発生条件のようでした。
弊社要件ではマルチスレッドでの実行が必須となりますので、こちらの解消方法にご教授頂戴出来ないでしょうか?
◆再現手順
①以下のソースのMemoryStreamのサイズを測定
②まったく同じ2つのPDFの作成をマルチスレッドで起動
③結果、MemoryStreamのサイズが異なっている
→作成されるPDFファイルのサイズも異なっており、相互参照テーブル(xrefテーブル)の部分に差異がある
④仮の施行としてlockを使用してシングルスレッドで起動
⑤結果、MemoryStreamのサイズが一致する
→作成されるPDFファイルのサイズも一致する
--ソースを一部抜粋-------------------------------------------------------------
using (var ms = new MemoryStream())
{
var renderer = new PdfRenderer(ms, setting);
// PDFの画像配置
renderer.ImageLoaderMap.Add("ActionIcon", new PdfImageLoader(getIcons()));
// メタ情報
// 作成者
renderer.Document.AddAuthor(outputData.CreaterName);
pages.Render(renderer);
pdfFiles.Add((createdFileTitle, createTitle, ms.ToArray()));
}
--ソースを一部抜粋-------------------------------------------------------------
また、itextについて以下のような情報もあるようです。
https://kb.itextpdf.com/it5kb/release-itext-5-4-02025年10月30日木曜日 13:58:29 UTC+9 RapidReport: