我正在尝试从存储在 Windows Phone 8.1 应用程序的 localStorage 中的 PDF 中获取文本,但我总是收到 FileNotFoundException。
为了解释整个故事,我从在线资源获得了一个 PDF,我将它存储到一个名称与用户名相同的文件夹中(用户名是一个电子邮件地址,但我也尝试过不带 @ 符号),然后我想从 PDF 文件中获取一些文本。我使用 iTextSharp 并按照示例进行操作,但无法成功。当我将 PDF 发送到启动器时,使用 Acrobat Reader 等其他应用程序成功打开。
我的功能如下。我首先发送一个PDF Object,它有一个名为Path的属性,它存储在特定于用户用户名的文件夹中。然后我将 pdf 作为StorageFile Item 获取。当我创建调用构造函数的PDFReader时,我得到一个 FileNotFoundException。有谁知道或可以猜到可能是什么问题?iTextSharp 是否与 Windows Phone 8.1 兼容?
internal async Task<bool> OpenPdfFromDownloadedCollections(PDF pdfToOpen, string username)
{
try
{
StorageFolder folder = ApplicationData.Current.LocalFolder;
var pdfFolder = await folder.GetFolderAsync(username + "PDFs");
var pdf = await pdfFolder.GetFileAsync(Object.Path);
StringBuilder text = new StringBuilder();
using (PdfReader reader = new PdfReader(pdf.Path))
{
for (int i = 1; i <= reader.NumberOfPages; i++)
{
string thePage = PdfTextExtractor.GetTextFromPage(reader, i, its);
string[] theLines = thePage.Split('\n');
foreach (var theLine in theLines)
{
text.AppendLine(theLine);
}
}
}
return true;
}
catch (Exception)
{
return false;
}
}