bonjour

je cherche a crée un fichier pdf et de le visualiser puis l'imprimer comme suit:

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
 
public class FirstPdf {
	Paragraph p;
 	private static PdfWriter pdfWriter = null;				
	private static FileOutputStream file = null;
...
public void Construire(ResultSet rs) throws SQLException, Throwable{	
 
        file = new FileOutputStream(".//temp//page1.pdf");
	try {
	      pdfWriter =   
                    PdfWriter.getInstance(document1,file);					
			} catch (Exception e) {}
...
                file.getChannel().close();
                file.close();                
 
 
                file= null;
 
		pdfWriter.close();
                pdfWriter = null;
 
..
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
 
 
public class Permis implements ActionListener, TableModelListener,
		FocusListener {
...
public void actionPerformed(ActionEvent arg0) {
		if(arg0.getSource() == jButton7){
		    while(i>0);
		    getJFrame4().setVisible(true);
			jFrame4.setAlwaysOnTop(true);
			jFrame.setAlwaysOnTop(false);
			jFrame.setEnabled(false);
			jFrame4.setEnabled(true);
 
		while(i>0);
			constpdf = new FirstPdf();	
...
			File file = new File("./temp/page1.pdf");
            i++;
			try {
 
..
				i++;
				try {
					while(i<2);
					constpdf.Construire(rs);
					i++;
				} catch (Throwable e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
 
			}catch (SQLException ex) {
				// TODO Auto-generated catch block
				ex.printStackTrace();
			}		
			//while(constpdf.Semaphore==0);
 
			try {
				while(i<3);
				loadPdf(file);
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			while(i<5);
            i=0;
			}
...
		else if (arg0.getSource() == jButton15){
			jFrame4.setVisible(false);
 
 
 
 
			j=0;
			try {
				channel.close();
				raf.close();
				page2= null;
				jPanel3=null;
				j++;
 
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			//j++;
			while (j<1);
		}
 
}
 
public void loadPdf(File file) throws IOException
{
 
	// load a pdf from a byte buffer
	raf = new RandomAccessFile(file, "r");
	channel = raf.getChannel();
	ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel
			.size());
	pdffile = new PDFFile(buf);
    i++;
	// show the first page
	page2 = pdffile.getPage(currentPage);
	jPanel3.showPage(page2);
	i++;
 
}
...
}
je reçois l'erreur

L'opération demandée n'a pu s'accomplir sur un fichier ayant une section mappée utilisateur ouverte
au niveau PdfWriter.getInstance(document1,file);

quand je rexecute.

je c pas ou est le problème