j'ecris ce moment un projet java.J'ai du mal à exporter mes données de la DB dans un fichier pdf.
j'ecris ce moment un projet java.J'ai du mal à exporter mes données de la DB dans un fichier pdf.
Ces 2 phrases dissimulent-elles une questionEnvoyé par gagalive
?
Y a pas de miracles pour faire des choses pareilles, il va te falloir employer une api pour PDF et ensuite parcourir toute ta base et inscrire toutes les données que tu veut dans ton pdf.
si je peut donner mon avis je te conseille FOP (la version qui est en beta ;-) )
le principe de fop c'est simple
tu fais une feuille XSL(-FO) avec un bloc note
tu crer un document xml a partir de ton programe java
tu fais la transformation ca veut dire tu passe a ta feuille xsl le document xml et tu lui fais generer le fichier pdf.
j'ai utiliser une fois pour faire des sortie de facture... c'est simple et puissant et customisable.
Tu as aussi iText, très simple pour générer des fichiers pdf (rtf et html également)
http://www.lowagie.com/iText/
J'ai essaye aussi bien FOP qu'Itext rien de tout cela ne fonctionne,au fait je ne sais pas comment m'y prendre.
Merci
A partir d'où ?Envoyé par gagalive
1. penser à comment tu veux que ça marche
2. regarder les API disponibles et choisir la mieux pour le traitement désiré
3. ecrire les classes
4. poser les questions, montrer ton code et tes erreurs pour qu'on puisse t'aider
5. debugger
peux tu préciser le fond de ta pensée ?
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"
Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
En fait je n'ai jamais travaille avec FOP ou Itext.Ce que je veux c'est extraire des données d'une DB et les presenter sur un PDF.
J'ai trouve des exemples utilisant Itext sur le net,malheuresement je ne peux les compiler car certaines classes ne sont pas reconnues.par exemple
DocListener,Document() et autres.
Merci.
si certaine classes ne sont pas reconnue c'est peut être simplment un problème de classpath ...
t'as bien téléchargé les jar au moins ?![]()
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"
Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
oui j'ai tout bien telecharger et les path aussi j'ai fait attention,mais le pb persisite.![]()
t'es sûr ?![]()
tu travailles avec un IDE ?
quel message d'erreur exactement ? Cannot find class ... ?
Problème de path ou de librarie, je persiste !![]()
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"
Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
voici la reponse du compiler:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Exception in thread "main" java.lang.Error: Unresolved compilation problems: Cannot instantiate the type Document The method getInstance(Document, OutputStream) in the type PdfWriter is not applicable for the arguments (Document, FileOutputStream) The method open() is undefined for the type Document Paragraph cannot be resolved to a type DocumentException cannot be resolved to a type de cannot be resolved The method close() is undefined for the type Document at HelloWorld.main(HelloWorld.java:44)
voici la reponse du compiler:
voici le petit exemple que je veux essayer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Exception in thread "main" java.lang.Error: Unresolved compilation problems: Cannot instantiate the type Document The method getInstance(Document, OutputStream) in the type PdfWriter is not applicable for the arguments (Document, FileOutputStream) The method open() is undefined for the type Document Paragraph cannot be resolved to a type DocumentException cannot be resolved to a type de cannot be resolved The method close() is undefined for the type Document at HelloWorld.main(HelloWorld.java:44)
En rouge ce sont les inconnus indiques par le compiler.
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 import java.io.FileOutputStream; import java.io.IOException; import javax.swing.text.Document; import com.lowagie.text.*; import com.lowagie.text.pdf.PdfWriter; /** * Generates a simple 'Hello World' PDF file. * * @author blowagie */ public class HelloWorld { /** * Generates a PDF file with the text 'Hello World' * * @param args no arguments needed here */ public static void main(String[] args) { System.out.println("Hello World"); // step 1: creation of a document-object Document document = new Document(); try { // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter.getstanceIn(document, new FileOutputStream("HelloWorld.pdf")); // step 3: we open the document document.open(); // step 4: we add a paragraph to the document document.add(new Paragraph("Hello World")); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); } }
[EDIT] désolé fausse manip![]()
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"
Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
Envoyé par gagalive
ben pour moi c'est un pb de classpath. enfin si tu dis que non ...
tu la lance à la main la compil ?
on peut voir la commande que tu tapes et le classpath par la meme occaz ?
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"
Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
En fait tu instancies le mauvais type de Document:
il te faut utiliser
dans tes imports et non
Code : Sélectionner tout - Visualiser dans une fenêtre à part import com.lowagie.text.Document;
Code : Sélectionner tout - Visualiser dans une fenêtre à part import javax.swing.text.Document;
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
Le meme probleme se pose maintenant il semble ne pas reonnaitre "com.lowagie.".
Code : Sélectionner tout - Visualiser dans une fenêtre à part import com.lowagie.text.Document;
En fait pour le moment j'essaye une autre methode.Comme mon but est de transferer mes donnees de la DB vers un pdf.Je voudrais maintenant tout d'abord les afficher dans une JTable et de la je choisirais un format d'exportation assez simple pas forcemant le pdf.Puisque jusqu'a maintenant j'ai deja essaye et essaye ca ne fonctionne pas.
Pour le moment je suis bloque sur ce petit programme que j'ai ecrit mais qui ne m'affiche rien de bon
Quel pourrait etre le pb dans ce morceau de programme.
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 import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class Test { private String[] colName = {"Land", "moyenne par jour","Sopra"}; public void fram (String[][] rowData){ JTable table = new JTable( rowData,this.colName); JFrame frame = new JFrame(); frame.getContentPane().add( new JScrollPane(table) ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.pack(); frame.setVisible( true ); } public void main (String args[]){ String[][] Daten = { { "Japon", "245","soir" }, { "USA", "240","matin" }, { "Italie", "220","une bonne mere" }, { "Espagne", "217","paisible" }, {"Turquie", "215","le village"} ,{"Angleterre", "214","les enfants"} }; Test test = new Test(); test.fram(Daten); } }
Voici le resultat de la compilation
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java.lang.NoSuchMethodError: main Exception in thread "main"
une méthode main doit être static, la vraie signature de la méthode main est donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part public static void main (String[] args){}
Exactement!!!!!
Je pense apres de nombreux d'essais on a plus vraiment la tete sur les epaules,meme su les choses les plus evidentes au monde.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager