78 votes

Comment rendre les PDF sur Android

Dans mon application je vais recevoir un flux d'octets et le convertir en un fichier pdf dans la mémoire du téléphone. Comment puis-je effectuer le rendu d'un fichier pdf? Et de l'afficher sur une activité?

115voto

Tim Kryger Points 7584

Certains téléphones (comme le Nexus One) venir avec une version de Quickoffice pré-installé de sorte qu'il peut être aussi simple que l'envoi du appropriés Intention une fois que vous avez enregistré le fichier de la carte SD.

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();
                    }
                }
            }
        });
    }
}

16voto

Agarwal Shankar Points 14558

Ouvrir le fichier pdf dans webview.

public class MyPdfViewActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WebView mWebView=new WebView(MyPdfViewActivity.this);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);
    mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+LinkTo);
    setContentView(mWebView);
  }
}

3voto

Zephyr Points 374

Pour le local des fichiers pdf, vous pouvez vous rendre à travers les bibliothèques tierces. par exemple, utilisez la MuPDF de la bibliothèque, de ses prises en charge les types de fichiers: PDF, PNG et JPEG.

Une lacune de MuPDF est qu'il utilise la bibliothèque native pour s'acquitter de la cible, de sorte qu'il ne sera pas facile de porter l'application sur la plate-forme BlackBerry plus tard.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X