【发布时间】:2023-03-17 17:15:01
【问题描述】:
我正在使用 iTextSharp PDFReader 读取一个有 18 页的 pdf 文件,但每次我增加页码时,它都会从 pdf 的开头开始,而不是只读取那个特定的页面。如果我将“x”设置为 pdfReader.NumberOfPages 值,它只会读取最后一页。我想单独阅读每一页并将数据添加到我的字符串列表中。我也在浏览一个文件夹,阅读每个 pdf 文件,但我一开始只测试一个。
List<string> s = new List<string>();
while (z < filePaths.Count())
{
PdfReader pdfReader = new PdfReader(filePaths[z]);
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
for (int x = 1; x <= pdfReader.NumberOfPages; x++)
{
string currentText = "";
currentText = PdfTextExtractor.GetTextFromPage(pdfReader, x, strategy);
s.Add(currentText);
}
z++;
pdfReader.Close();
}
【问题讨论】:
-
它是否总是只读取第一页,除了最后一页,还是读取从第一页到第 x 页的所有内容?底层的主力方法
ProcessContent<E>(int pageNumber, E renderListener)显然应该做你想做的......你使用哪个版本的 ITextSharp? -
使用5.5.10.0,总是从第一页开始,一直读到第x页
-
只是为了确保...您是否希望
s在外部循环完成时包含所有文件的所有页面,每个列表项有一页文本? -
是的,我想逐页阅读 pdf 并将每一页文本作为列表项插入。
标签: c# itext pdf-reader