IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Embarquer un fichier PDF dans un .jar


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Par défaut Embarquer un fichier PDF dans un .jar
    Salut à tous,
    je suis coincé sur un petit problème java qui m’avait l’air simple finalement me donne du fil à retordre.
    Je m’explique rapidement. J’ai créé une application java pour embarquer et afficher un fichier pdf. J’ai utilisé la librairie ICEPDF pour le faire. Quand j’exécute le programme cela se fait sans problème. Il affiche le pdf sans faute. C’est lorsque je crée le jar et que je l’exécute, Il ne voit pas le fichier PDF.
    Mon soucis est comment embarquer le PDF dans le jar ? en fait comment créer un chemin relatif de sorte à ce que le fichier soit embarqué dans le jar sans problème.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
    		File fdp1 = new File("pdf" + File.separator + "AWSAction.pdf");
    		fdp1.getAbsolutePath().toString();
    		System.out.println(fdp1.getAbsolutePath().toString());
     
    		String className=ViewCtrl.class.getName().replaceAll("\\.", "/" )+".class";		
    		URL classPath=ViewCtrl.class.getClassLoader().getResource(className);
    		File f =new File(classPath.getPath());
     
    		String currentFolder = System.getProperty("user.dir");
    		File fdp = new File(currentFolder + "//..//AWSAction.pdf");
     
    		SwingController controller = new SwingController();
    		controller.setIsEmbeddedComponent(true);
     
    		Properties props=new Properties();
    		props.setProperty(PropertiesManager.PROPERTY_SHOW_UTILITY_SAVE,"false");
    		ResourceBundle.getBundle(PropertiesManager.DEFAULT_MESSAGE_BUNDLE));
     
    		org.main.common.SwingViewBuilder factory = new org.main.common.SwingViewBuilder(controller);
    		JPanel viewerComponetPanel = factory.buildViewerPanel();
    		controller.getDocumentViewController().setAnnotationCallback(new org.icepdf.ri.common.MyAnnotationCallback(controller
    				  .getDocumentViewController()));
    		JFrame applicationFrame = new JFrame();
     
    		applicationFrame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    		applicationFrame.setIconImage(new ImageIcon(Images.get("icepdf-app-icon-64x64.png")).getImage());
    		applicationFrame.setJMenuBar(getjMenuBar());
    		applicationFrame.add(viewerComponetPanel);
    // Ouverture du fichier ici		
    		controller.openDocument(fdp1.toString());
    		applicationFrame.pack();
    		applicationFrame.setVisible(true);
    		applicationFrame.addWindowListener(new WindowListener() {
     
    			@Override
    			public void windowOpened(WindowEvent e) {
    				// TODO Auto-generated method stub
     
    			}
     
    			@Override
    			public void windowIconified(WindowEvent e) {
    				// TODO Auto-generated method stub
     
    			}
     
    			@Override
    			public void windowDeiconified(WindowEvent e) {
    				// TODO Auto-generated method stub
     
    			}
     
    			@Override
    			public void windowDeactivated(WindowEvent e) {
    				// TODO Auto-generated method stub
     
    			}
     
    			@Override
    			public void windowClosing(WindowEvent e) {
    				// TODO Auto-generated method stub
    				int reponse = JOptionPane.showConfirmDialog(null, "Voulez-vous vraiment quitter", "Confirmation", JOptionPane.YES_NO_OPTION);
    				if (reponse == JOptionPane.YES_OPTION){
    					System.exit(0);
    				}else if (reponse == JOptionPane.NO_OPTION){
    					return;
    				}
    			}
     
    			@Override
    			public void windowClosed(WindowEvent e) {
    				// TODO Auto-generated method stub
     
    			}
     
    			@Override
    			public void windowActivated(WindowEvent e) {
    				// TODO Auto-generated method stub
     
    			}
    		});
    	}
    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    La classe "File" représente un fichier sur le système d'exploitation hôte.
    Tu ne peux pas accéder directement à un fichier dans un jar ou un zip de cette manière.
    Tu ne dois donc pas l'utiliser.


    => Il faut utiliser getResource() ou getResourceAsStream() pour obtenir une URL ou un InputStream, et lire le fichier à partir de ceci.



    a++

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Par défaut
    Merci adiGuba pour ta réponse.
    Jusqu'à présent, je n'ai pas encore eu affaire à ces classes dont tu vient de parler. Peux me faire une ou deux ligne de code à titre d'exemple s'il te plaît

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url = TaClasse.class.getResource("/chemin/vers/le/fichier.pdf");

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url = TaClasse.class.getResource("/chemin/vers/le/fichier.pdf");
    Problème résolu. Merci mon pôte !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL]Inserer fichier pdf dans une table
    Par perlgirl dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/11/2005, 16h08
  2. [FPDF] créer un fichier PDF dans le répertoire courant
    Par patdez dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/10/2005, 15h37
  3. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01
  4. [JAR]Fichier manifest dans un jar
    Par nicoo dans le forum Général Java
    Réponses: 2
    Dernier message: 10/03/2005, 08h51
  5. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo