我有pdf文件,我需要根据书签是否包含“空白页”或“Type = Plain”作为书签的文本/值来删除书签。
我可以使用“如何以编程方式阅读PDF书签”问题从文件中读取它们[书签]。
我想要的书签是每组页面的第一个书签,它还有一个我需要保留的孩子。
完成后,我可以根据需要处理文件,因为它们只会为每组页面添加书签。
答案 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);