【发布时间】:2016-05-02 05:07:12
【问题描述】:
我有一个使用 ITextSharp 读取 PDF 文本的 Windows 服务应用程序。我正在使用文本框来显示 PDF 的文本。 它在读取第一个 PDF 时工作正常,但是当它读取第二个 PDF 时,文本不会改变,文本仍然是第一个 PDF。这是我的代码:
dim vFileName as string
dim vFileEntries as string()
dim vPath as string = "C:\PDF"
if directory.exists(vPath) then
vFileEntries = directory.getfiles(vPath)
for each vFileName in vFileEntries
dim PR as PdfReader = new PdfReader(vFileName)
for CurrentPage as integer = 1 to PR.NumberOfPages
RichTextBox1.text = ""
dim ltestrategy as LocationTextExtractionStrategy = New LocationTextExtractionStrategy
dim currentext as string = PdfTextExtractor.GetTextFromPage(PR, CurrentPage, ltestrategy)
RichTextBox1.Text = RichTextBox1.Text + currentext
next
PR.close()
next vFileName
end if
感谢任何帮助
【问题讨论】:
-
如果您删除
RichTextBox1.text = ""(或至少将其移出循环)会发生什么? -
我想清除上一个pdf中的文本,这样我就可以读取每个pdf的文本了
-
我对您的要求感到困惑。你想要在 RichTextBox1 中的最终结果是程序运行,从头到尾?运行我发布的代码后,文本框中的内容是什么?
-
我很抱歉让您感到困惑并且我的英语不好...但我希望最终结果是 RichTextBox1 可以显示所有 PDF 文件的所有文本。文本框内的内容只是循环来自第一个文件 PDF 的文本。实际上,我有很多包含不同文本的 PDF 文件。
-
您是否尝试过记录当前文本而不是在某些表单元素中显示它?这样,您可以尝试确定它确实是 iTextSharp 行为问题还是其他组件的行为问题。
标签: vb.net pdf itextsharp