我正在 PDF 中搜索特定文本,有时它可能包含换行符。在此示例中,我想要下面屏幕截图中标记矩形中的 3 行文本:
我在 iTextSharp 5.5.13.3 中使用以下 C# 代码
var fontStrategy = new GetFontsExtractionStrategy();
using (var reader = new PdfReader("C:\\pdf.pdf")
{
var text = string.Empty;
for (int page = 1; page <= reader.NumberOfPages; page++)
{
var ex = PdfTextExtractor.GetTextFromPage(reader, page, fontStrategy);
}
}
Logging.LogInfo($"PDF text: {fontStrategy.lastChunks}");
public class GetFontsExtractionStrategy : LocationTextExtractionStrategy
{
public string lastChunks;
public override void RenderText(TextRenderInfo renderInfo)
{
var txt = renderInfo.GetText();
lastChunks += txt;
}
}
lastChunks
里面的文字是(我刚刚提取了整个PDF文本的相关文字):
Unvani (T�zel Kisiler doldurulacaktir.) (Kisaltma yapilmadan Ticaret Sicilinde yer aldigi bi�imde yazilacaktir)
预期找到的带换行符的文本是
Unvani (T�zel Kisiler doldurulacaktir.)
(Kisaltma yapilmadan Ticaret Sicilinde yer
aldigi bi�imde yazilacaktir)
在这种情况下我怎样才能得到正确的文本?如果有必要的话,我也愿意改变图书馆。感谢您的任何提示!
public StringBuilder lastChunks = new StringBuilder();
public override void RenderText(TextRenderInfo renderInfo)
{
var txt = renderInfo.GetText();
lastChunks.AppendLine(txt);
}
希望能帮到你..