Prezados Senhores,
O código abiaxo é está sendo, por enquanto, uma tentativa frustrado de criar uma aplicação capaz de converter arquivos, por exemplo .doc, em PDF. O código é esse:
package bernardes;
import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public class ConvertPDF {
public ConvertPDF(){}
public void ConvertToPDF(String inputFile, String outputFile){
PdfWriter writer = null;
InputStream infile = null;
//Criar o documento
Document documento = new Document();
//Direciona os dados de documento a um arquivo de saída
try{
infile = new FileInputStream(new File(inputFile));
writer = PdfWriter.getInstance(documento,new FileOutputStream(outputFile));
}catch(DocumentException e){
}catch(FileNotFoundException e){}
//Abre o documento
documento.open();
if ((infile != null) && (writer != null)){
//Crio o stream para ser armazenado num arquivo pdf
PdfStream stream = new PdfStream(infile,writer);
//Compacta os dados
stream.flateCompress();
try{
//Coloca o stream em writer
writer.addToBody(stream); //retorna um PdfIndirectObject
//Converte o arquivo para pdf
//stream.toPdf(writer,new FileOutputStream(outputFile));
}catch(IOException e){}
}
try{
infile.close();
}catch(IOException e){}
documento.close();
}
public static void main(String[] args) {
ConvertPDF exemplo = new ConvertPDF();
exemplo.ConvertToPDF("teste.doc","legal.pdf");
}
}
Apresentando os seguintes erros:
Exception in thread "main" ExceptionConverter: java.io.IOException: The document has no pages.
at com.lowagie.text.pdf.PdfPages.writePageTree(Unknown Source)
at com.lowagie.text.pdf.PdfWriter.close(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.close(Unknown Source)
at com.lowagie.text.Document.close(Unknown Source)
at bernardes.ConvertPDF.ConvertToPDF(ConvertPDF.java:58 )
at bernardes.ConvertPDF.main(ConvertPDF.java:63)
Pelo que entendi isto está ocorrendo, pois o documento não apresenta páginas, contudo já tentei de várias formas para que o nº de pág. do arquivo pdf seja igual ao do arquivo doc, mas tudo em vão. Alguém poderia me ajudar ou pelo menos mostrar o caminho? Muito obrigado.
Thiago Bernardes