1
docx 파일을 Apache POI
으로 처리하려고합니다. 단순히 파일을 읽고 쓰는 것만으로 (지금 당장). 다음은 간단한 코드입니다.Apache POI - 헤더에 이미지가있는 docx를 읽으십시오.
FileInputStream fileInputStream = new FileInputStream(inputFile);
XWPFDocument document = new XWPFDocument(OPCPackage.open(fileInputStream));
FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
document.write(fileOutputStream);
fileOutputStream.flush();
fileOutputStream.close();
fileInputStream.close();
입력 파일의 헤더에 작은 이미지가 있습니다. 그 때문에 Microsoft Word의 POI 개방 출력 파일과 입력 파일을 처리 한 후 나는 손상된 파일 오류가 발생합니다 :
Microsoft Office cannot open this file because some parts are missing or invalid.
Location: Part: /word/settings.xml, Line: 2, Column: 0
모든 사무실에서 OO 작가 작품,하지만.
질문은 무엇이 잘못 되었습니까? 아파치는 헤더에 이미지가있는 파일을 처리하지 않습니까? 문제를 해결할 수있는 방법을 알고 있습니까?
NEEDApache POI
을 사용하려면 다른 도구는 고려하지 않습니다. 또한 POI를 사용합니다. 3.8
첫째, 실제로 문제의 원인이되는 헤더인지 확인하고 싶습니다. 머리글에 상상 만 포함하고 다른 것은 포함하지 않는 테스트 문서를 만듭니다. 그게 실패하니? 그렇다면 POI 처리 전과 후의 XML의 차이점은 무엇입니까? – ninesided
실제로 헤더가 문제의 원인이 아니 었습니다. 헤더 파일에있는 이미지가있는 다른 파일은 오류없이 처리되었습니다. diff를 실행하면'wc : Ignorable = "w14"매개 변수가'w : settings' 태그에서 제거 된 것을 보았습니다 ... –
Apache POI의 최신 버전으로 업그레이드하면 어떻게됩니까? (현재 3.10) – Gagravarr