私のアプリケーションでは、PDFファイルをテキストファイルに変換したいのですが、誰でもそれについて助けることができます。
sdcardからpdfファイルを読み取り、それをテキストファイルに変換して、sdカードに保存します。
質問する
5629 次
2 に答える
2
于 2013-01-28T07:35:34.537 に答える
1
SDカードからpdfファイルを読む:
Please check your device is any pdf reader application available, I think isn't any..
このコードを使用するだけで、
private void viewPdf(Uri file) {
Intent intent;
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(file, "application/pdf");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// No application to view, ask to download one
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("No Application Found");
builder.setMessage("Download one from Android Market?");
builder.setPositiveButton("Yes, Please",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent marketIntent = new Intent(Intent.ACTION_VIEW);
marketIntent
.setData(Uri
.parse("market://details?id=com.adobe.reader"));
startActivity(marketIntent);
}
});
builder.setNegativeButton("No, Thanks", null);
builder.create().show();
}
}
If any pdf reader application not available then this code is download pdf reader from android market, But be sure your device has pre-installed **android-market** application. So I think try this on android device, rather then emulator.
PDFファイルをテキストファイルに変換
PDFをテキストファイルに変換できます。PDFファイルが画像の場合、OCRツールを使用したい.
また、pdf 用の解析ライブラリと sdk のセットもあります。この https://stackoverflow.com/questions/4665957/pdf-parsing-library-for-androidを表示できます。
ファイルをSDカードに保存
btnWriteSDFile.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
try {
File myFile = new File("/sdcard/mysdfile.txt");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter =new OutputStreamWriter(fOut);
myOutWriter.append(txtData.getText());
myOutWriter.close();
fOut.close();
Toast.makeText(v.getContext(),"Done writing SD 'mysdfile.txt'", Toast.LENGTH_SHORT).show();
txtData.setText("");
}
catch (Exception e)
{
Toast.makeText(v.getContext(), e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
});
btnReadSDFile.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
try {
File myFile = new File("/sdcard/mysdfile.txt");
FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn));
String aDataRow = "";
String aBuffer = "";
while ((aDataRow = myReader.readLine()) != null)
{
aBuffer += aDataRow ;
}
txtData.setText(aBuffer);
myReader.close();
Toast.makeText(v.getContext(),"Done reading SD 'mysdfile.txt'",Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Toast.makeText(v.getContext(), e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
});
これに加えて、この許可を Android.Manifest に書き込みます
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
于 2013-01-28T07:32:45.807 に答える