如何在没有隐藏层上下文的情况下使用Itextsharp获取PdfImportedPage

时间:2017-06-15 07:34:55

标签: itext

当我使用itextsharp从现有PDF文件生成PDF文件时,我的工作代码是

The soruce pdf

        string sourceFile = "a4.pdf", targetFile = "processed.pdf";
        PdfReader reader = new PdfReader(sourceFile);
        Document doc = new Document();
        PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(targetFile, FileMode.Create));
        doc.Open();
        PdfContentByte cb = writer.DirectContent;
        PdfImportedPage page;
        for (int pageNumber = 1; pageNumber <= reader.NumberOfPages; pageNumber++)
        {
            doc.SetPageSize(reader.GetPageSizeWithRotation(pageNumber));
            doc.NewPage();
            page = writer.GetImportedPage(reader, pageNumber);
            //Write a PageIndex
            ColumnText.ShowTextAligned(cb, PdfContentByte.ALIGN_CENTER, new Phrase(pageNumber.ToString()), 100, 0, 0);
            cb.AddTemplate(page, 0, 0);
        }
        doc.Close();

问题是,当我从阅读器获取PdfImportedPage时,page = writer.GetImportedPage(reader, pageNumber);将显示sourceFile的隐藏层中的内容.procedated.pdf没有图层。

如何在没有隐藏图层上下文的情况下使用Itextsharp获取PdfImportedPage。

0 个答案:

没有答案