Ler e escrever arquivos .doc ou .docx

Pessoal

Preciso ler um arquivo .doc ou .docx (ou se puder ser ambos, seria o ideal), alterara algumas palavras nele e salvar como um novo arquivo.

Pesquisei e vi que isto é possível utilizando o Apache POI ou o OpenXML4J, porém, não achei nenhum tutorial, exemplo ou nada que me ajude a fazer isto.

Alguém pode me ajudar, por favor?

Obrigado

Olá Diego,

eu já utilizei algo assim usando as classes do pacote java.io.

Olá pessoal,

Na realidade o que eu realmente preciso é poder manipular arquivos .doc e .docx…

Alguma idéia?

Segundo

Você pode fazer assim (não cheguei a testar pq nao consigo baixar o apache POI do trabalho)

The ways to extract text from Word, Excel and Powerpoint documents are shown below.

//Word text extraction
    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("filename.doc"));
    WordExtractor extractor = new WordExtractor(fs);
    String wordText = extractor.getText();


//Excel text extraction
    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("filename.xls"));
     ExcelExtractor extractor = new ExcelExtractor(fs);
     String excelText = extractor.getText();

//Powerpoint extraction
    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("filename.ppt"));
     PowerPointExtractor extractor = new PowerPointExtractor(fs);
     String powerText = extractor.getText();



However POI is still not compatible with Office 2007 file formats like .docx, .xlsx and .pptx but it will in the future. 

Infelizmente, no apache POI não tem suporte ainda pro docx…

1 curtida

Cara esse arquivo é alguma espécie de template?

Se for, tu pode definir os campos que tu precisa mudar com um nome padrão. Aí na hora de salvar o template, salva com formato .xml.

Aí é só ler o arquivo, com File e BufferedReader mesmo e dá um replace no conteúdo.

Funcionou pra mim utilizando arquivos .doc, não sei pra .docx.

Esqueci de falar.

na hora de salvar o novo arquivo com o conteúdo do arquivo xml mais os parâmetro que tu passou, pode salvar como .doc mesmo, que quando o word abrir vai tá tudo certo.

Desculpa desenterrar este topico mas tem como fazer esta mesma coisa pelo Netbeans 6.8 ?

bem cara, o q eu disse não tem nada a ver com IDE, nem mesmo é específico pra Java, pode ser feito em qualquer linguagem, onde você consiga ler um arquivo e fazer um replace nele.