c# - iTextSharp 合并 PDF 而不保留页面大小
问题描述
我有以下 .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 的页面大小都会保持不变,但在某些情况下,合并后的文档都是一种大小。
我附上了以下文件
封面文件:由代码中的变量 d1 表示(http://www.mediafire.com/file/be4x8fzyqle6hdt/Coversheet.pdf/file)
报告文件:由代码中的变量 d1 表示(http://www.mediafire.com/file/8z5q260h8j32b6l/Report.pdf/file)
以上两者的合并文件(http://www.mediafire.com/file/5ob79holw3yfaz7/Merged_Coversheet%252BReport.pdf/file)
任何想法为什么合并的 PDF 包含所有相同大小的页面?
解决方案
道歉 - 这是一个误报 - 这是由于一些后处理 - 在执行合并之后,每个页面的页码(由 iTextSharp 执行)默认页面大小为第一页的大小
推荐阅读
- java - 如果第一个子节点匹配移动到Java代码中的下一个节点,如何迭代
- c - C如何将字符串哈希函数与布尔值结合起来?
- apache-flink - 大小约为 50Mb 的侧输入导致长时间的 GC 暂停
- eclipse - 关于 egit 和 github/travis 的问题
- c++ - 如何恢复默认项目设置
- r - 如何计算(在 R 中)范围差中的范围以检查 0 是否在此范围内?
- javascript - 将具有类 ID 和图像的 div 附加到容器
- git - 在合并冲突期间运行差异时,有没有办法查看文件更改的时间戳?
- ios - 扩展或不扩展时仅重新加载表格视图的一部分 - Swift
- node.js - 如何为节点包创建离线安装程序?