复印文件时空白页

本文关键字:空白 文件 | 更新日期: 2023-09-27 18:17:21

复制文档

var document = new Document();
    var writer = PdfWriter.GetInstance(document, memoryStream);
    document.Open();
    var cb = writer.DirectContent;
    var reader = new PdfReader(this_file_name);
    document.SetPageSize(reader.GetPageSizeWithRotation(1));
    document.NewPage();
    var page = writer.GetImportedPage(reader, 1);
    cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
    document.CloseDocument();       writer.Close();

当我打开新文档-它是空的。我尝试改变pdf版本和压缩级别-没有结果。我不能使用PdfStamper,因为复制文档后需要插入一些文本和图像。这个坏文件

复印文件时空白页

这个PDF是一个很好的例子,说明为什么假设0,0对应于"左下角"永远不是一个好主意。pdf实际上可以自由地重新定义它们认为合适的坐标空间。这个PDF在第1页有这个特定的条目:

/MediaBox   [0, -1693.08, 2396.52, 0]

y参数"向下"偏移1693.08个单位。幸运的是,这很容易修复。你正确地设置了页面大小,但是你还想在放置模板时使用页面大小的坐标:

var s = reader.GetPageSizeWithRotation(1);
cb.AddTemplate(page, s.Left, s.Bottom);