使用iTextSharp VS2017 c#

时间:2017-08-23 20:36:35

标签: c# pdf itext

我有pdf文件,我需要根据书签是否包含“空白页”或“Type = Plain”作为书签的文本/值来删除书签。

我可以使用“如何以编程方式阅读PDF书签”问题从文件中读取它们[书签]。

我想要的书签是每组页面的第一个书签,它还有一个我需要保留的孩子。

完成后,我可以根据需要处理文件,因为它们只会为每组页面添加书签。

1 个答案:

答案 0 :(得分:1)

要将书签转换为可以执行操作的枚举,请执行以下操作:

IList<Dictionary<string, object>> list = SimpleBookmark.getBookmark(reader);

你应该能够使用某些linq删除你不想要的那些:

Where(x => x.Key != "Type = Plain" && x.Key != "Blank Page")

不要忘记迭代IList中的每个字典并重建一个新的IList对象,将其传递回压模,如下所示: stamper.setOutlines(result);