Salut,
J ai codé una applet java et souhaiterai pouvoir convertir l'affchage de l'applet en PDF. J ai ouvert le fichier .html avec open offcice (jusque la tout va bien) mais quand je l'exporte vers pdf le fichier obtenue donne un affichage buggé. je pense pas que ce soit de la faute de open office car j ai déjà converti des documents doc en pdf sans problème.
Ce que je veux faire maintenant c'est de convertir le Graphics de mon applet en jpeg ou gif pour pouvoir l'exporter sans problème. Si quelqu'un peut me m'aider ou me donner une autre orientation ca serait sympa.


Voici le code de ma page html :
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
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.1  (Linux)">
	<META NAME="CREATED" CONTENT="20040519;17281300">
	<META NAME="CHANGEDBY" CONTENT="Lamine Sidibe">
	<META NAME="CHANGED" CONTENT="20040519;17303100">
</HEAD>
<BODY LANG="fr-FR" DIR="LTR">
<P><APPLET CODEBASE="../lsidibe" CODE="Histo.class" ALIGN=LEFT WIDTH=750 HEIGHT=7000>
	<PARAM NAME="largeur" VALUE="400">
	<PARAM NAME="hauteur" VALUE="700">
</APPLET><BR><BR>
</P>
</BODY>
</HTML>
Voici le code de ma classe java :
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
 
/**Importation des librairies*/
import java.io.*;
import java.net.*;
import java.util.*;
import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
 
 
/**Applet créant un histogramme à partir :
 **/
public class Histo extends JApplet
{
 
/**Donnée membre de l'applet - propre au graphique*/	
private int        _nbrePoint      = 0;//nbre total de coordonnée (point) disponible
private int        _tailleAxeX     = 0;//largeur de l'aplet
private int        _tailleAxeY     = 0;//hauteur de l'applet 
private int        _multiplicateur = 1;//coefficient pour l'agrandissement
private float      _etalonnage     = 0;//espace entre les points
private Vector     _tableauValeur  = new Vector();//vecteur contenant les valeurs
private Vector     _tableauNom     = new Vector();//vecteur contenant les nom des colonnes
 
/**Méthode d'initialisation de l'applet - initialise les paramètres du graphique*/
    public void init() {
	URL             url              = null;
	URLConnection   urlConnexion     = null;
	InputStream     entree           = null;
	BufferedReader  fluxEntree       = null;
	String          source           = null;
	String          colonne          = new String("");
	String          valeur           = new String("");
	String          ligne            = new String("");
	int             indiceSeparateur = 0;
	int             nbreDeLigne      = 0;
 
	try
	    {
 
		//parametre
 
		colonne          = new String("Ola");
 
		_tableauNom.addElement("nom des tablespaces");
		_tableauNom.addElement("n2");
		_tableauNom.addElement("n3");
		_tableauNom.addElement("n4");
		_tableauNom.addElement("n5");
		_tableauNom.addElement("n6");
		_tableauNom.addElement("n7");
		_tableauNom.addElement("n8");
 
 
 
		_tableauValeur.addElement("taux de remplissage");
		_tableauValeur.addElement(new Integer(10));
		_tableauValeur.addElement(new Integer(20));
		_tableauValeur.addElement(new Integer(30));
		_tableauValeur.addElement(new Integer(40));
		_tableauValeur.addElement(new Integer(50));
		_tableauValeur.addElement(new Integer(25));
		_tableauValeur.addElement(new Integer(90));
 
 
		nbreDeLigne=_tableauValeur.size();	
 
 
		//Initialisation paramêtres du graphique
		_tailleAxeX     = 700 - 20;
		_tailleAxeY     = 400 - 20;
		_multiplicateur = 3;
		_nbrePoint      = nbreDeLigne;
		_etalonnage     = _tailleAxeX / _nbrePoint;
	    }		
	catch (Exception erreur) 
	    { 
		//          showStatus("[Erreur] Initialisation : "+erreur.toString());          
	    }
    }//Fin de la méthode Init()
 
 
 
 
/**Méthode de dessin du graphique*/
    public void paint(Graphics g)
    {  
	try
	    {
		Graphics    pinceauNormal    = getGraphics();
		Graphics2D  pinceau2D        = (Graphics2D) pinceauNormal;
		int         marge            = 20;
		int         pointOrigineX    = marge;
		int         pointOrigineY    = _tailleAxeY-marge;
		int         i                = 1;
		int         j                = 1;
		int         pointXRect       = 0;
		int         pointYRect       = 0;
		int         largeurRect      = 0;
		int         hauteurEtalonnee = 0;
		Enumeration liste            = null;
		String      nomAbcisse       = null;
		String      nomOrdonnee      = null;
		String      temporaire       = null;
		Integer     hauteurRect      = null;//Variables pour chaque rectangle
 
 
		///////showStatus("Traçage du graphique...");	
 
		setBackground(new Color(255,255,238));
		int nb;
		for (nb=0;nb<3;nb++) {
		    j=1;
		//On trace l'axe des ordonnées (axes des Y)
    		pinceau2D.setColor(Color.gray);
		pinceau2D.setFont(new Font("ARIAL",1,18));
		pinceau2D.drawLine(marge,marge+(157+_tailleAxeY)*nb,pointOrigineX,pointOrigineY+(157+_tailleAxeY)*nb);
		pinceau2D.drawString("^",marge-5,30+(157+_tailleAxeY)*nb);
 
 
		//On trace l'axe des abcisses (axes des X)
		pinceau2D.drawLine(pointOrigineX,pointOrigineY+(157+_tailleAxeY)*nb,_tailleAxeX + marge + ((int)(marge / 2)),_tailleAxeY - marge+(157+_tailleAxeY)*nb);
		pinceau2D.drawString(">",_tailleAxeX + marge + ((int)(marge / 2)) - 4,_tailleAxeY - marge + 7 +(157 +_tailleAxeY)*nb);
 
		//On indique le point (0,0) point origine
		pinceau2D.setFont(new Font("ARIAL",1,16));
		pinceau2D.drawString("0",pointOrigineX-10,pointOrigineY+(157 +_tailleAxeY)*nb);
 
		//On indique le nom des axes
		pinceau2D.setFont(new Font("ARIAL",1,12));
		nomAbcisse  = (String)_tableauValeur.firstElement();
		nomOrdonnee = (String)_tableauNom.firstElement();
		pinceau2D.drawString(nomOrdonnee,_tailleAxeX-nomAbcisse.length()-50,_tailleAxeY+10+ (157 +_tailleAxeY)*nb);
		pinceau2D.drawString(nomAbcisse,5,10 +(157 +_tailleAxeY)*nb);
 
		//On trace les rectangles
		pinceau2D.setColor(Color.black);
		liste = _tableauValeur.elements();
 
		int taille=_tableauValeur.size();
		int f;  
		for (f =1;f<taille;f++) {		   
 
		    //on evite la ligne 1 pour ne pas avoir les titres des axes	
		    hauteurRect      = (Integer)_tableauValeur.elementAt(f);
		    hauteurEtalonnee = hauteurRect.intValue() * _multiplicateur ;
		    largeurRect      = (int)(_etalonnage);
		    pointXRect       = ((int)((f-1) * _etalonnage)) + marge;
		    pointYRect       = (int)(_tailleAxeY - hauteurEtalonnee - marge)+(157+_tailleAxeY)*nb;
 
		    //On trace le rectangle correspondant en indiquant la valeur
		    pinceau2D.setColor(new Color(200,j + 150,j + 100));
		    if (((Integer)(_tableauValeur.elementAt(f))).intValue()>=30)
					    pinceau2D.setColor(new Color(200,j ,j ));
		    pinceau2D.fill3DRect(pointXRect,pointYRect,largeurRect,hauteurEtalonnee,true);
		    pinceau2D.setColor(Color.darkGray);
		    pinceau2D.drawString(hauteurRect.toString()+"%",pointXRect+((int)(_etalonnage / 2)),pointYRect - 3);
		    pinceau2D.setColor(new Color(200,j + 150,j + 100));
		    if (((Integer)(_tableauValeur.elementAt(f))).intValue()>=30)
		    pinceau2D.setColor(new Color(200,j,j));
		    pinceau2D.drawString((String)_tableauNom.elementAt(j),pointXRect+((int)(_etalonnage / 2)),pointOrigineY + 15+(157 +_tailleAxeY)*nb);
		    j++;
		}
		}
//On force l'affichage
		setVisible(true);
 
		//On met le titre du graphique
 
		//showStatus(getParameter("titre"));	
	    }
	catch (Exception erreur) 
	    { 
		//showStatus("[Erreur] Création : "+erreur.toString());          
	    }
 
    }//Fin de la méthode Paint()
 
}
Merci




[Modéré par Didier]
Ajout de tag dans le titre
Ajout de balises code pour la lisibilité
Lire les règles du forum : Règles du forum Java