2
previous answer 덕분에 암호로 보호 된 Word 2010 문서를 읽을 수있게되었습니다. (. 나는 그들에게 그들은 1994 년으로 돌아가 .DOCX하는 .DOC에서 하나 하나 번역해야하지만 괜찮아요.) docx4j를 사용하여 Word 문서의 내용을 구문 분석
나는 간단한 자바 클래스를 시작하는 데 썼다 :package model.docx4j;
import model.JournalEntry;
import model.JournalEntryFactory;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.OpcPackage;
import org.docx4j.openpackaging.parts.Parts;
import java.io.IOException;
import java.io.InputStream;
import java.security.GeneralSecurityException;
import java.util.LinkedList;
import java.util.List;
/**
* JournalEntryFactoryImpl using docx4j
* @author Michael
* @link
* @since 9/8/12 12:44 PM
*/
public class JournalEntryFactoryImpl implements JournalEntryFactory {
@Override
public List<JournalEntry> getEntries(InputStream inputStream, String password) throws IOException, GeneralSecurityException {
List<JournalEntry> journalEntries = new LinkedList<JournalEntry>();
if (inputStream != null) {
try {
OpcPackage opcPackage = OpcPackage.load(inputStream, password);
Parts parts = opcPackage.getParts();
} catch (Docx4JException e) {
LOGGER.error("Could not load document into docx4j", e);
throw new IOException(e);
}
}
return journalEntries;
}
}
그리고를 JUnit 테스트는 드라이브하기 :
package model.docx4j;
import model.JournalEntry;
import model.JournalEntryFactory;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.OpcPackage;
import org.docx4j.openpackaging.parts.Parts;
import java.io.IOException;
import java.io.InputStream;
import java.security.GeneralSecurityException;
import java.util.LinkedList;
import java.util.List;
/**
* JournalEntryFactoryImpl using docx4j
* @author Michael
* @link
* @since 9/8/12 12:44 PM
*/
public class JournalEntryFactoryImpl implements JournalEntryFactory {
@Override
public List<JournalEntry> getEntries(InputStream inputStream, String password) throws IOException, GeneralSecurityException {
List<JournalEntry> journalEntries = new LinkedList<JournalEntry>();
if (inputStream != null) {
try {
OpcPackage opcPackage = OpcPackage.load(inputStream, password);
Parts parts = opcPackage.getParts();
} catch (Docx4JException e) {
LOGGER.error("Could not load document into docx4j", e);
throw new IOException(e);
}
}
return journalEntries;
}
}
나는 내 문서를 읽고 나면 무엇을하고 있었는지 docx4j 확인하기 위해 테스트에 중단 점을 넣어. 나는 8 개 부분의 목록을 보았지만 그 내용을 찾지 않고 나무를 걸어 갔다.
각 문서는 날짜와 내용이있는 페이지로 구성되어 있지만 페이지를 찾을 수 없습니다. 그들은 어디에서 살고 있습니까?
마침내! 내 텍스트 항목이있는 문서 인스턴스 목록을 참조하십시오. 정말 고맙습니다. 나는 도서관과 당신의 대답에 감사드립니다. – duffymo