iTextSharp 在不保留页面大小的情况下合并 PDF

iTextSharp merging PDF's without persisting page size

我有以下 .NET 代码通过 iTextSharp 合并两个 PDF。

        byte[] result;
        using (var ms = new MemoryStream())
        {
            using (var doc = new Document())
            {
                using (PdfCopy copy = new PdfSmartCopy(doc, ms))
                    doc.Open();
                    var d1 = new PdfReader(coverSheetPdf);
                    copy.AddDocument(d1);
                    var d2 = new PdfReader(reportPdf);
                    copy.AddDocument(d2);
                    doc.Close();
                }
            }
            result = ms.ToArray();
        }

以上将 Letter/Landscape PDF 与 Tabloid/Landscape PDF 合并。在大多数情况下,每个 PDF 的页面大小都保持不变,但在某些情况下,合并后的文档都是一个大小。

下图显示了调试时的页面大小

我已附上以下文件

知道为什么合并后的 PDF 包含所有相同大小的页面吗?

抱歉 - 这是一个误报 - 这是由于一些 post-processing - 在执行合并后,每个页面都有页码(由 iTextSharp 执行),默认页面大小为第一页的尺寸