我已经能够通过多种方式逐页解析PDF,最新的是这个(不是我的代码):
$reader = New-Object iTextSharp.text.pdf.pdfreader -ArgumentList "oldy.pdf"
for ($page = 1; $page -le $reader.NumberOfPages; $page++)
{
$strategy = new-object 'iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy'
$currentText = [iTextSharp.text.pdf.parser.PdfTextExtractor]::GetTextFromPage($reader, $page, $strategy);
[string[]]$Text += [system.text.Encoding]::UTF8.GetString([System.Text.ASCIIEncoding]::Convert( [system.text.encoding]::default, [system.text.encoding]::UTF8, [system.text.Encoding]::Default.GetBytes($currentText)));
}
我在这里发现了一个帖子,建议使用 LocationTextExtractionStrategy 代替,并用 '\n' 分割每一行但是,我承认这里的 .NET 代码让我感到困惑,我不确定如何修改它以按字符串解析。
任何人都可以帮忙吗?
谢谢。