按如下因素後: iTextSharp PDF Reading highlighed text (highlight annotations) using C#如何使用iTextSharp從PDF中提取高亮文本?
驗證碼:
for (int i = pageFrom; i <= pageTo; i++) {
PdfDictionary page = reader.GetPageN(i);
PdfArray annots = page.GetAsArray(iTextSharp.text.pdf.PdfName.ANNOTS);
if (annots!=null)
foreach (PdfObject annot in annots.ArrayList) {
PdfDictionary annotation = (PdfDictionary)PdfReader.GetPdfObject(annot);
PdfString contents = annotation.GetAsString(PdfName.CONTENTS);
// now use the String value of contents
}
}
}
正在提取PDF註釋。但是,爲什麼同樣的下面的代碼是不是亮點工作(特別是PdfName.HIGHLIGHT不工作):
for (int i = pageFrom; i <= pageTo; i++) {
PdfDictionary page = reader.GetPageN(i);
PdfArray annots = page.GetAsArray(iTextSharp.text.pdf.PdfName.HIGHLIGHT);
if (annots!=null)
foreach (PdfObject annot in annots.ArrayList) {
PdfDictionary annotation = (PdfDictionary)PdfReader.GetPdfObject(annot);
PdfString contents = annotation.GetAsString(PdfName.CONTENTS);
// now use the String value of contents
}
}
}
高亮文本在多亮點在哪中線您將提取過多的開始或結束時的完整的例子。考慮檢查** QuadPoints **而不是** Rect **。例如。 [這個問題](http://stackoverflow.com/q/32608083/1729265)討論了這樣的情況,儘管爲一個不同的庫,並且[這個答案](http://stackoverflow.com/a/33278436/1729265 )討論細節.. – mkl 2016-01-07 16:02:19