Bonjour tout le monde,

J’ai un petit problème de conversion simple d'un fichier txt en pdf qui n'apparait que quand le fichier txt ne contient qu’une seule ligne.
l'erreur est : The document has no pages
Je suis presque sûre que c’est un problème de close mal placé.
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
 
private static String createPdf(String urlInputFile, String urlOutputFile)
	{
 
		Document pdfDocument = new Document();
		String line = "";
		try
		{
			FileOutputStream fileOutputStream = new FileOutputStream(urlOutputFile);
			PdfWriter writer = null;
			writer = PdfWriter.getInstance(pdfDocument, fileOutputStream);
			writer.open();
			pdfDocument.open();
			File file = new File(urlInputFile);
			line = FileUtils.readFileToString(file);
			pdfDocument.add(new Paragraph(line));
 
			if (null != pdfDocument) {
				pdfDocument.close();
			}
			if (null != writer) {
				writer.close();
			}
 
		}
		catch (Exception exception)
		{
			System.out.println("Document Exception!" + exception);
		}
		return urlOutputFile;
	}
Si vous pouviez m’aider je vous en serais grès.
Ça n’a pas marché avec le code suivant non plus, même erreur :

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
 
public static  String convertTextfileToPDF(String urlInputFile, String urlOutputFile) throws Exception{
 
		String URLOutputFile = urlInputFile+".pdf";
		Document output = null;
		BufferedReader input = null;
		PdfWriter  pdfWriter = null;
		File file=new File(urlInputFile); 
		try
		{	
			input = new BufferedReader (new FileReader(urlInputFile));
 
			if (input.readLine() == null) {
				throw new Exception("Fichier text vide.");
			}
			output = new Document(PageSize.LETTER, 40, 40, 40, 40);
 
			pdfWriter = PdfWriter.getInstance(output, new FileOutputStream (URLOutputFile));
			output.open();
			String line = input.readLine();
			while(line != null) {
				Paragraph p = new Paragraph(line);
				p.setAlignment(Element.ALIGN_JUSTIFIED);
				output.add(p);
 
			}
			System.out.println("Fichier Text convertie en PDF :" + file.getName());
			if (null != output) {
				output.close();
			}
			if (null != input) {
				input.close();
			}
			if (null != pdfWriter) {
				pdfWriter.close();
			}
 
		}
		catch (Exception e) {
			if (null != output) {
				output.close();
			}
			if (null != input) {
				input.close();
			}
			if (null != pdfWriter) {
				pdfWriter.close();
			}
			File fileErrorToDelete = new File(URLOutputFile);
			fileErrorToDelete.delete();			
			System.out.println("Erreur lors de la conversion du fichier txt : " +file.getName());
			throw new Exception("Erreur lors de la conversion du fichier txt : " +file.getName()+ ", Erreur technique  :" +e.getMessage());
 
		}
 
		return URLOutputFile;	
	}
Ces 2 fonctions lancé dans un autre projet marchent à merveille, dans mon projet à moi ou je dois ensuite concaténer le pdf en sortie avec d’autres ça foire.
Arigato !