[我的目标是制作一个带有按钮的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);行上。我不知道这是否是添加此功能的正确方法。
这里是可能的解决方案: