Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    apertura e chiusura file pdf

    Salve,
    nel mio programma ho inserito l'aperuta del mio file pdf in questo modo
    Process pr;
    pr=Runtime.getRuntime().exec("cmd /c C:/temp/FIA4611G0XX.PDF");
    E fin qua tutto bene, ma adesso vorrei chiuderlo sempre dal programma .
    Come posso , visto che il metodo destroy killa il processo cmd e non quello che viene lanciato ??

    Un aiutino, grazie

  2. #2
    per farlo dovresti usare jni (credo), essendo una operazione che interagisce col OS, quindi non "direttamente manipolabile" da java.

  3. #3
    grazie per la risposta.
    Ma se invece di un pdf , avessi una immagine , aperta in un jframe dovrebbe risultare possibile manipolare l'oggeto per vederlo e chiuderlo ??
    Se non mi sbaglio, esite una classe per la gestione delle immagini ??
    Hai qualche opinione in merito ?

    Attendo

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    28
    Per il pdf, se utilizzi Acrobat Reader, banalmente gestisci apertura e chiusura così:

    codice:
    ProcessBuilder pb = new ProcessBuilder("..\\AcroRd32.exe" , "file.pdf");
    Process process = pb.start();
    Thread.sleep(5000);
    process.destroy();
    Nel tuo caso scrivi un listener con il destroy()

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora per farla un po' più completa, il discorso è un po' "peloso": come ti sarai reso conto anche tu, è facile far aprire il pdf, un po' più difficile chiudere il reader.
    Per rendere l'apertura disponibile cross-platform, o semplicemente per coloro i quali non usano Adobe Acrobat Reader per leggere i PDF, puoi adoperare la classe Desktop.

    Problema: se usi la classe Desktop, non hai un metodo close/destroy.
    Problema: se non usi la classe Desktop, potresti non riuscire ad accontentare tutti gli utenti (certo se il programma deve girare solo un quella macchina, o solo su delle macchine configurate tutte allo stesso modo, stiamo parlando di fuffa: fai come ti viene più comodo con buona pace per la portabilità).

    Altre alternative: embeddare il PDF direttamente nell'applicazione. Ti servono librerie come jpedal o icepdf oppure fa tu una ricerca.

    In windows, potresti anche usare taskkill per acciaccare l'Acrobat Reader aperto...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Ringrazio tutti per la vostra collaborazione.
    Adesso faccio delle prove e poi faccio sapere .
    Ultima cosa propio per non sbagliare , ma cosa intendi
    "Nel tuo caso scrivi un listener con il destroy()"

    cosi intendi ??

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    28
    Il codice che ho postato apre il pdf e lo chiude automaticamente dopo 5 secondi... Non penso che questo sia il comportamento desiderato... Mi sembra di aver capito che il pdf deve essere chiuso dall'utente dall'interfaccia grafica del tuo programma, quindi ragionevolmente metterai, ad esempio, un JButton con un listener in cui invochi la destroy().

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.