如何导入下载的文件并将该文件转换为文本?

问题描述 投票:0回答:1

[我的目标是制作一个带有按钮的Android Studio应用,当用户单击该按钮时,文件选择器打开,该人可以导入文件(主要是PDF,但稍后我还将添加EPub功能)。然后,我想将该导入的文件转换为仅文本。

对于我正在使用的导入:

Button import_pdf_btn = (Button) root.findViewById(R.id.import_pdf_btn);
import_pdf_btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ((main_activity_java)getActivity()).import_pdf();
    }
});

对于我正在使用的转换系统:

public void import_pdf() {
    Intent i = new Intent();
    i.setAction(Intent.ACTION_GET_CONTENT);
    i.setType("application/pdf");
    startActivityForResult(i, 0001);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
        case 0001:
            if (resultCode == RESULT_OK) {
                Uri uri = data.getData();
                String uriString = uri.toString();
                File myFile = new File(uriString);
                String path = myFile.getAbsolutePath();

                String final_text = "";
                try {
                    PdfReader reader = new PdfReader(path);
                    int n = reader.getNumberOfPages();
                    for (int i = 0; i <n ; i++) {
                        final_text = final_text+ PdfTextExtractor.getTextFromPage(reader, i+1).trim()+"\n"; //Extracting the content from the different pages
                    }
                    reader.close();
                } catch (Exception e) {
                    System.out.println(e);
                }
                Log.d("Debug", final_text);
            }
            break;
    }
    super.onActivityResult(requestCode, resultCode, data);
}

该代码无效。该问题似乎出现在PdfReader reader = new PdfReader(path);行上。我不知道这是否是添加此功能的正确方法。

java android-studio pdf itext
1个回答
0
投票

这里是可能的解决方案:

© www.soinside.com 2019 - 2024. All rights reserved.