我遇到了问题,没有从PDF文件中提取突出显示的文本。 str变量始终为空。有人可以帮帮我吗?
我的代码:
private static string GetPdfHighlighText(string file, int page) {
string nv = "";
PdfReader reader = new PdfReader(file);
for (int x = 1; x < reader.NumberOfPages; x++)
{
PdfDictionary pageDict = reader.GetPageN(x);
PdfArray annots = pageDict.GetAsArray(PdfName.ANNOTS);
if (annots != null)
{
for (int i = 1; i <= annots.Size; ++i)
{
PdfDictionary annotationDic = (PdfDictionary)PdfReader.GetPdfObject(annots[i]);
PdfName subType = (PdfName)annotationDic.Get(PdfName.SUBTYPE);
if (subType.Equals(PdfName.HIGHLIGHT))
{
PdfString str = annots.GetAsString(i);
nv = nv + str;
}
}
}
}
return nv; }
我正在使用ITextSharp库。 PFLibrary是iTextSharp.text.pdf命名空间。
我希望从pdf中扫描所有页面并提取所有突出显示的文本, 它是245页,但我将每页放置过滤器。我可以识别高亮注释但是没有返回带有突出显示文本的字符串
答案 0 :(得分:0)
我设法使用以下代码解决了我的问题:
unzip(temp, overwrite = F, exdir = "data_raw/system-data")