2017-08-23 4 views
0

J'ai des fichiers PDF où je dois supprimer des signets basé sur si le signet contient « Page vierge » ou « Type = simple » que le texte/valeur du signet.Supprimer les signets de pdf programme de contours à l'aide iTextSharp VS2017 C#

Je peux les lire [signets] des fichiers à l'aide de la question « Comment lire les signets PDF programme ».

Le signet que je veux est le premier signet de chaque groupe de pages et il a un enfant que je dois garder en place aussi bien.

Une fois cela fait, je peux traiter les fichiers que j'ai besoin, car ils seront alors seulement le signet pour chaque groupe de pages.

Répondre

1

Pour convertir vos signets à un dénombrable que vous pouvez faire des choses avec, faites:

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

Vous devriez être en mesure de supprimer tout ceux que vous ne voulez pas utiliser certains LINQ:

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

N'oubliez pas itérer sur chaque dictionnaire dans le IList et reconstruire un nouvel objet IList à passer de nouveau dans la Stamper comme ceci: stamper.setOutlines(result);