简体   繁体   English

我如何在android中解析PDF文件?

[英]How can i parse PDF file in android?

I am developing android application.我正在开发android应用程序。 This application allows the user to highlight words in PDF file.此应用程序允许用户突出显示 PDF 文件中的单词。 Then these words must be extracted, so how can I parse the PDF file to get extracted words from the file without any library?那么这些词必须被提取出来,那么如何在没有任何库的情况下解析PDF文件以从文件中提取出词呢? Can any one help me?谁能帮我?

You have to code it yourself if you don't want to use a libary.如果您不想使用库,则必须自己编写代码。 There isn't any build-in classes in Android SDK for PDF manipulation. Android SDK 中没有任何用于 PDF 操作的内置类。

However you have to use a Libary and have a look at this question:但是,您必须使用 Libary 并查看以下问题:

PDF Library to rendering the PDF files in Android 用于在 Android 中渲染 PDF 文件的 PDF 库

You can parse PDF easily on android easily using the iText library as like I've done it on my project by parsing a pdf file from assets and displaying it in the android listview.您可以使用 iText 库轻松地在 android 上轻松解析 PDF,就像我在我的项目中通过解析资产中的 pdf 文件并将其显示在 android 列表视图中一样。

iTextG Link: https://developers.itextpdf.com/itextg-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();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM