1. ホーム
  2. java

[解決済み] AndroidでPDFをレンダリングする方法

2023-06-25 08:48:15

質問

私のアプリケーションでは、バイトストリームを受信し、それを携帯電話のメモリ内のpdfファイルに変換する予定です。どのようにpdfにレンダリングするのでしょうか。また、それをアクティビティに表示するにはどうしたらよいでしょうか。

どのように解決するのですか?

一部の携帯電話 (Nexus One など) には、以下のバージョンが付属しています。 Quickoffice がプリインストールされている機種もあるので、SD カードにファイルを保存したら、適切な Intent を送信するだけでよいかもしれません。

public class OpenPdf extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button = (Button) findViewById(R.id.OpenPdfButton);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                File file = new File("/sdcard/example.pdf");

                if (file.exists()) {
                    Uri path = Uri.fromFile(file);
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setDataAndType(path, "application/pdf");
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                    try {
                        startActivity(intent);
                    } 
                    catch (ActivityNotFoundException e) {
                        Toast.makeText(OpenPdf.this, 
                            "No Application Available to View PDF", 
                            Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });
    }
}