【问题标题】:How can i parse PDF file in android?我如何在android中解析PDF文件?
【发布时间】:2014-04-12 21:02:49
【问题描述】:

我正在开发安卓应用程序。此应用程序允许用户突出显示 PDF 文件中的单词。那么这些词必须被提取出来,那么如何解析PDF文件以从文件中提取提取的词而不需要任何库呢?谁能帮帮我?

【问题讨论】:

  • 到目前为止你尝试过什么?请编辑您的问题以包括您的尝试和您使用的任何代码。

标签: java android pdf pdf-generation


【解决方案1】:

如果您不想使用库,则必须自己编写代码。 Android SDK 中没有任何用于 PDF 操作的内置类。

但是您必须使用库并查看以下问题:

PDF Library to rendering the PDF files in Android

【讨论】:

  • 感谢您的重播,如果我想自己编写代码,我可以像阅读其他文本文件一样阅读 PDF 文件吗?我怎样才能得到文本的背景颜色?
  • 您不能这样做,因为您必须使用 Adob​​e 的 SDK 并且这是托管代码。所以这将是非常困难的。你为什么不想使用图书馆?
【解决方案2】:

您可以使用 iText 库在 android 上轻松解析 PDF,就像我在我的项目中通过解析资产中的 pdf 文件并将其显示在 android 列表视图中一样。

iTextG 链接:https://developers.itextpdf.com/itextg-android

assetManager = getAssets();

try{
    InputStream inputStream = assetManager.open("sample.pdf");
    String parsedText = "";
    PdfReader reader = new PdfReader(inputStream);
    int n = reader.getNumberOfPages();

    for (int i = 0; i < n; i++)
        parsedText = parsedText + PdfTextExtractor.getTextFromPage(reader, i + 1).trim() + "\n";

    String[] data = parsedText.split("\n");

    for(String d : data){
        patients.add(d);
    }

    reader.close();

}catch (FileNotFoundException e){
    Toast.makeText(this, "File Not Found", Toast.LENGTH_SHORT).show();
}catch (IOException e){
    Toast.makeText(this, "IO Error reading input stream", Toast.LENGTH_SHORT).show();
}

【讨论】:

  • 欢迎来到 SO!不鼓励仅使用代码的答案,因为它们无法深入了解问题是如何解决的。请更新您的解决方案,说明您的代码如何解决 OP 的问题 :)
猜你喜欢
  • 2023-04-03
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多