C'è un modo per avere un codice che apre un file PDF nell'applicazione Java in una piattaforma indipendente? Voglio dire che usare un file batch in Windows potrebbe farlo. C'è un altro modo per avere un codice indipendente dalla piattaforma per aprire i file PDF al volo?Apri un file PDF al volo da un'applicazione Java
risposta
mi piacerebbe provare Desktop.open(File)
, che:
avvia l'applicazione associata per aprire il file.
Quindi questo codice dovrebbe fare il trucco:
if (Desktop.isDesktopSupported()) {
try {
File myFile = new File("/path/to/file.pdf");
Desktop.getDesktop().open(myFile);
} catch (IOException ex) {
// no application registered for PDFs
}
}
+1 Cosa faresti se vuoi che il file pdf venga aperto nella tua app in modo che tu possa interagire con esso a modo tuo? Grazie. – chepukha
@chepukha: In questo caso, questo codice dovrebbe essere irrilevante per te, poiché il tuo componente di lettura PDF dovrebbe avere i propri metodi per caricare un file. –
sì, lo capisco. Dovrei fare un'altra domanda per quello? – chepukha
È possibile utilizzare runtime per eseguire e sceneggiatura e ci sono anche diversi visualizzatori Java PDF là fuori (cioè Icepdf, JPedal, PDFRenderer).
Grazie per i suggerimenti ...;) –
Grazie ancora, sembra che ICEpdf si adatti al modello di licenza che mi serve. – Kingsolmn
Utilizzare questo per aprire file pdf utilizzando Java
File file = new File(filepath);
if (file.toString().endsWith(".pdf"))
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + file);
else {
Desktop desktop = Desktop.getDesktop();
desktop.open(file);
}
Questo codice viene utilizzato per aprire il PDF e altri file.
Questa soluzione funziona bene su Windows, ma non è indipendente dalla piattaforma, come richiesto dall'OP. – THelper
Usa questo codice per aprire un file specifico:
String cmds[] = new String[] {"cmd", "/c", "C:\\Users\\PC\\Desktop\\EA01.pdf"};
try {
Runtime.getRuntime().exec(cmds);
}
soluzione di Michael Meyer non ha funzionato per me. In particolare, un percorso con spazi non riesce con un IllegalArgumentException piuttosto che un IOException.
Ecco ciò che funziona per me:
if (Desktop.isDesktopSupported()) {
try {
File theUMFile = new File(usersManualPath);
Desktop.getDesktop().open(theUMFile);
}
catch (FileNotFoundException fnf){
okDialog(msg_fnf);
theConcours.GetLogger().log(Level.SEVERE, null, fnf);
theConcours.GetLogger().info(msg_fnf);
}
catch (IllegalArgumentException fnf) {
okDialog(msg_fnf);
theConcours.GetLogger().log(Level.SEVERE, null, fnf);
theConcours.GetLogger().info(msg_fnf);
}
catch (IOException ex) {
okDialog(msg_cno);
theConcours.GetLogger().log(Level.SEVERE, null, ex);
theConcours.GetLogger().info(msg_cno);
}
}
- 1. Converti EPS in PDF al volo con pdflatex al volo
- 2. Apri "documento array byte" da un'applet Java
- 3. Apri link da PDF in IE
- 4. PhoneGap - Apri/Copia un file PDF in iBook
- 5. Avvio del profiler Java HPROF al volo
- 6. Java ArrayList e HashMap al volo
- 7. Al volo compilatore java in javascript
- 8. PHPExcel scrivere al volo?
- 9. Python Gzip - Aggiungere file al volo
- 10. Ottenere intestazioni da una risposta al volo
- 11. Come estrarre alcune righe casuali da un data.table al volo
- 12. Apri PDF in una WebView
- 13. aggiunta @ font-face al volo
- 14. Calcolo dei percentili al volo
- 15. Creare un sommario da un file pdf
- 16. Apri pdf nel plug-in del browser
- 17. creazione di metodi al volo
- 18. Apri stream da uri
- 19. Apri file di sola lettura
- 20. Apri file nell'editor predefinito da bash
- 21. apri un terminale da python
- 22. Convalidare EmberJS TextField al volo?
- 23. Posso cambiare SparkContext.appName al volo?
- 24. Modifica campi serializzatore al volo
- 25. Come posso generare un file PDF da un file binario?
- 26. Creazione di sottodomini al volo
- 27. Puoi cambiare templateUrl al volo?
- 28. Database al volo con linguaggi di scripting
- 29. Genera il file javascript al volo in asp.net mvc
- 30. Apri un file in un memo?
Che cosa si intende per "aprire"? Intendi come in "avviare Adobe Reader per visualizzare un documento PDF specifico"? – Kris
Scusa, credo di non aver definito in modo specifico l '"aperto". Sì, come quello che hai pensato. ;) –