删除某些页面后,书签与错误的页面关联

时间:2017-02-22 22:43:28

标签: c# itext

我使用了iTextSharp开源库。

我尝试了PdfWriter和PdfStamper:

对于PdfStamper我有以下代码(代码执行后toDelegePageNumbers将是“,!4,!5”):

stamper.Outlines = bookmarks; 
reader.SelectPages("1-" + reader.NumberOfPages + toDelegePageNumbers); 
stamper.Outlines = bookmarks; 
stamper.Close(); 

另外,对于PdfWriter,我使用下面的代码(w是PdfWriter):

foreach (int page in pageToKeep) 
{ 
    doc.NewPage(); 
    w.DirectContent.AddTemplate(w.GetImportedPage(reader, page), 0, 0); 
} 
w.Outlines = bookmarks; 
doc.Close(); 

在任何一种情况下,书签最初都指向新生成的pdf文件中的页面6,这是错误的,因为第4页和第5页已被删除,原始页面6应该是新文档中的第4页。

有没有办法在不进行手动页码转换的情况下保留书签?我们有很多现有的书签,只需要删除两个页面,对于简单的操作来说似乎是额外的工作。

非常感谢。

0 个答案:

没有答案