我能夠突出顯示PDF文本,但我想知道如何刪除我剛添加的註釋。我添加下面的代碼:刪除註釋iTextSharp
PdfAnnotation highlight = PdfAnnotation.CreateMarkup(stamper.Writer, rectangle, null, PdfAnnotation.MARKUP_HIGHLIGHT, quadPoints.ToArray());
highlight.Color = BaseColor.RED;
stamper.AddAnnotation(highlight, page);
如果我是在一個列表中,以保持像PdfAnnotation
本身的參考,可我只是回去,並用它來刪除它?
一個典型的情況是,如果我不得不突出顯示某些內容,然後稍後執行檢查並意識到不再需要突出顯示,我可以返回並撤消它。我正在考慮列出所有我必須強調的事情,然後一旦我確定需要突出顯示該列表中的所有內容,請繼續並執行此操作,但這種方式看起來要慢兩倍,就好像我剛剛回去並解除了我發現後的一大亮點。所以如果我至少保留了PdfAnnotation
的列表,我可以回到列表中的最後一個,如果我已經參考了highlight.Remove();
,我可以回到列表中的最後一個。或者我必須標註註釋,然後循環所有PdfDictionary的頁面並找到相同的標籤。
你是在說'一次性添加和刪除它'還是'今天添加它並刪除它'?我很困惑,因爲你談論保持一個對象聽起來像前者的引用 –
嗨克里斯,我更新了這個問題,請讓我知道它是否仍然令人困惑 – peacefullearner
一般來說,當爲大多數事物(除了'PdfDictionary'和其他基本集合)調用'AddXXX'方法時,它被假定爲寫入的單向路徑到PDF,基本上完成了。「撤銷」這些操作的唯一方法是關閉PDF並執行第二遍。這裏可能是一個監聽器或事件,您可以在之前執行後處理但要誠實地說,只需存儲自己的'Annotation'和頁面集合,根據需要添加/刪除並添加到'Stampe當你完成後,最後的'r'。 –