[Itext]Conversion txt en pdf :The document has no pages
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:
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:
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 !