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.
eu já utilizei algo assim usando as classes do pacote java.io.
D
diegogmarques
Olá pessoal,
Na realidade o que eu realmente preciso é poder manipular arquivos .doc e .docx…
Alguma idéia?
G
Gustavokt1 like
Segundo
Você pode fazer assim (não cheguei a testar pq nao consigo baixar o apache POI do trabalho)
ThewaystoextracttextfromWord,ExcelandPowerpointdocumentsareshownbelow.//Word text extractionPOIFSFileSystemfs=newPOIFSFileSystem(newFileInputStream("filename.doc"));WordExtractorextractor=newWordExtractor(fs);StringwordText=extractor.getText();//Excel text extractionPOIFSFileSystemfs=newPOIFSFileSystem(newFileInputStream("filename.xls"));ExcelExtractorextractor=newExcelExtractor(fs);StringexcelText=extractor.getText();//Powerpoint extractionPOIFSFileSystemfs=newPOIFSFileSystem(newFileInputStream("filename.ppt"));PowerPointExtractorextractor=newPowerPointExtractor(fs);StringpowerText=extractor.getText();HoweverPOIisstillnotcompatiblewithOffice2007fileformatslike.docx,.xlsxand.pptxbutitwillinthefuture.
Infelizmente, no apache POI não tem suporte ainda pro docx…
G
Gerson_da_S_Lima
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.
G
Gerson_da_S_Lima
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.
L
landantas
Desculpa desenterrar este topico mas tem como fazer esta mesma coisa pelo Netbeans 6.8 ?
G
Gerson_da_S_Lima
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.