将标头添加到现有的PDF(模板)

时间:2018-08-08 14:20:19

标签: html itext

我正在使用itextv5.x。 我有一个pdf文件,该文件正在用作模板。 用户可以使用图像(缩放到页面大小的正确宽度-A4,但高度灵活)来定义自己的页眉和页脚。

我现在想通过导入模板并使用用户定义的图像添加页眉和页脚来创建新的pdf文档。

我基本上使用pdfReader和pdfWriter来工作。我从模板(源文件)导入页面,并将它们添加为模板页面。页眉和页脚是使用page事件创建的。

我的问题是,取决于页脚或页眉的高度,页面内容与页脚重叠。似乎没有自动分页符。

代码如下(伪):

using (PdfReader reader = new PdfReader(Server.MapPath("~/App_files/xxx.pdf")))
{
    using (var document = new iTextSharp.text.Document(PageSize.A4, 36f, 36f, 115,115))
    {
        using (var workStream = new FileStream(Server.MapPath("~/App_files/Downloads/xxx2.pdf"), FileMode.Create))
        {

            PdfWriter writer = PdfWriter.GetInstance(document, workStream);
            writer.CloseStream = false;
            writer.PageEvent = pageEventHelper;

            document.Open();

            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage page = writer.GetImportedPage(reader, 1);

            cb.AddTemplate(page,0,0);
            page = writer.GetImportedPage(reader, 2);
            document.NewPage();
            cb.AddTemplate(page, 0, 0);
            document.Close();

        }
    }
    reader.Close();
}

有人可以指出我的正确方向吗?

祝一切顺利... 弗洛里安

0 个答案:

没有答案