Gerar Arquivo em PDF através de um DOC

Olá pessoal, tudo bem.

Primeiramente, me desculpa se estou postando no lugar errado, realizei algumas pesquisas no forúm e achei muita coisa que me ajudou no desenvolvimento da minha ferramenta. Mas me deparei com um problema, onde não consigo achar a saida.

Estou fazendo um aplicativo, onde algumas pessoas irão, preencher dados e gerar e quando terminar e clicar em gerar relatório, todos os campos que ele preencheu, serão alterados em um documento em Word(.doc) e o mesmo será convertido em PDF, para que o usúario salve em algum lugar, tentei usar FileInputStream para carregar o .doc e assim que ele clicasse em gerar relatório, pegasse todos os campos com o nome correspondente e alterasse as informações, mas não tá funcionando e não sei como gerar o PDF em seguida…alguém pode me dar uma luz?

fico grato desde já.

Por que todo esse trabalho?
Use o iReport e gere diretamente o pdf.

Boa tarde,

Exitem muitas formas de se fazer isto :

1º forma :

//localiza o arquivo
File file = new FileInputStream(onde esta o arquivo )

BufferedOutputStream bos = new BufferedOutputStream(file);
ByteArrayOutputStream out = new ByteArrayOutputStream();

Document document = new Document();
PdfWriter.getInstance(document, out);
document.open();

bouts.writeTo(bos);
bouts.close();
bos.close();

//dependência que tem que importar

com.lowagie
itext
2.0.8

2º Forma

outra forma usar o Renderer

No caso a String input é o Texto do documento com formatação html, que precisa do codigo de cabeçalho Html

public StringBuilder geraHtmlDocumento(String Doc){

StringBuilder html = new StringBuilder();
html.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
html.append("\r\n");
html.append("<html xmlns=“http://www.w3.org/1999/xhtml">\r\n");
html.append(” \r\n");
html.append(" PDF Builder\r\n");
html.append(" \r\n");
html.append(" ");

	html.append(doc.toString());
	
	html.append( "</body></html>");

return html.
}

public static void convertePDF(String input, OutputStream out) throws Exception {

    ITextRenderer renderer = new ITextRenderer();
	
    renderer.setDocumentFromString( input );
    renderer.layout();
    renderer.createPDF(out);
    out.close();

}

// para usar o pdf Renderer precisa disto

org.xhtmlrenderer
core-renderer
R8

precisa da dependência do Itext Passando na primeira forma.

Basicamente é isto espero ter ajudado.