Comment lire le pdf dans mon application Android?

Je fais une application qui nécessite d’ouvrir pdf.

J’ai aussi un fichier pdf dans le dossier des ressources, donc je ne peux pas l’ouvrir directement dans webview.

Par défaut, Android ne supporte pas le pdf.

Y at-il une API qui fonctionne sur Android (sauf MuPdf)?

Aucun lecteur de pdf n’a été installé sur mon appareil, donc ACTION VIEW ne m’est pas utile

Suivant ne fonctionne pas …….

Rendre un fichier PDF en utilisant Java sur Android

Fichier d’actifs ouvert pdf dans l’application

pouvez-vous me suggérer un bon api …

Merci d’avance…

Je l’ai simplement fait en utilisant PdfViewer.jar (téléchargez-le avec le bouton bleu) et créez un code comme ci-dessous.

Premier.java

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); File images = Environment.getExternalStorageDirectory(); imagelist = images.listFiles(new FilenameFilter() { public boolean accept(File dir, Ssortingng name) { return ((name.endsWith(".pdf"))); } }); pdflist = new Ssortingng[imagelist.length]; for(int i = 0;i(this,android.R.layout.simple_list_item_1, pdflist)); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Ssortingng path = imagelist[(int)id].getAbsolutePath(); openPdfIntent(path); } private void openPdfIntent(Ssortingng path) { try { final Intent intent = new Intent(First.this, Second.class); intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path); startActivity(intent); } catch (Exception e) { e.printStackTrace(); } } 

Second.java

 public class Second extends PdfViewerActivity { @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); } public int getPreviousPageImageResource() { return R.drawable.left_arrow; } public int getNextPageImageResource() { return R.drawable.right_arrow; } public int getZoomInImageResource() { return R.drawable.zoom_in; } public int getZoomOutImageResource() { return R.drawable.zoom_out; } public int getPdfPasswordLayoutResource() { return R.layout.pdf_file_password; } public int getPdfPageNumberResource() { return R.layout.dialog_pagenumber; } public int getPdfPasswordEditField() { return R.id.etPassword; } public int getPdfPasswordOkButton() { return R.id.btOK; } public int getPdfPasswordExitButton() { return R.id.btExit; } public int getPdfPageNumberEditField() { return R.id.pagenum_edit; } } 

J’espère que cela vous aidera beaucoup. Essaye ça. N’oubliez pas d’append votre Second.java dans votre manifeste. Ajoutez des tirables à tout ce dont vous avez besoin en second.java avec vos tirables. Et, reportez-vous à l’exemple de GitHub

Certains téléphones (tels que le Nexus One) sont livrés avec une version de Quickoffice pré-installée, il peut donc être aussi simple que d’envoyer l’intention appropriée une fois le fichier enregistré sur 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(); } } } }); } } 

Je n’ai jamais eu besoin de le faire, mais vous pourriez probablement utiliser une bibliothèque comme iText pour accéder au fichier PDF par programmation, puis afficher le PDF.