【发布时间】:2014-08-21 11:08:57
【问题描述】:
在我的 Windows 8 应用程序中,我想逐行阅读 PDF,然后我想分配一个字符串数组。我该怎么做?
public StringBuilder addd= new StringBuilder();
string[] array;
private async void btndosyasec_Click(object sender, RoutedEventArgs e)
{
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.List;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".pdf");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
PdfReader reader = new PdfReader((await file.OpenReadAsync()).AsStream());
for (int page = 1; page <= reader.NumberOfPages; page++)
{
addd.Append(PdfTextExtractor.GetTextFromPage(reader, page));
string tmp= PdfTextExtractor.GetTextFromPage(reader, page);
array[page] = tmp.ToString();
reader.Close();
}
}
}
【问题讨论】:
-
那么发布的代码有什么问题?
-
您认为 PDF 中有行的假设可能是错误的。请阅读openhealthnews.com/articles/2014/… 以了解内容如何存储在 PDF 中。
-
我建议从 Adobe 网站获取 Acrobat SDK,并仔细查看文档,特别是 Portable Document Format Reference(我认为它是这样命名的)。这让您了解 PDF 的结构,然后您可以重新考虑要完成的工作。 (一个简单的提示:PDF 不是文本格式!)。如果您出于某种原因想避开 Adobe 网站,您还可以获得 ISO 32000 的副本。
标签: c# file pdf itextsharp