Word (2003 및 2007) 문서를 HTML 형식으로 변환합니다. Word 문서에서 텍스트, 형식 등을 읽을 수있었습니다. 그러나이 문서에는 페이지에 표시 할 필요가없는 '헤더 변경 내역'과 같은 숨겨진 텍스트가 포함되어 있습니다. Word 문서에서 숨겨진 텍스트를 식별 할 수있는 방법이 있습니까?숨겨진 텍스트 식별 Apache POI를 사용하는 Word 2003/2007
도움이 될 것입니다.
Word (2003 및 2007) 문서를 HTML 형식으로 변환합니다. Word 문서에서 텍스트, 형식 등을 읽을 수있었습니다. 그러나이 문서에는 페이지에 표시 할 필요가없는 '헤더 변경 내역'과 같은 숨겨진 텍스트가 포함되어 있습니다. Word 문서에서 숨겨진 텍스트를 식별 할 수있는 방법이 있습니까?숨겨진 텍스트 식별 Apache POI를 사용하는 Word 2003/2007
도움이 될 것입니다.
나는이 완전한 (또는 정확) 솔루션이지만, DOCX 형식의 파일을, 문자 실행이
XWPFRun cr;
if (cr.getCTR().getRPr().getVanish() != null){
// it is hidden
}
있어 숨겨져 있는지 확인할 수 있다는 것 같으면 확실하지 않다 이것은 XML을 리버스 엔지니어링 (reverse-engineering) 한 것에서 비롯된 것입니다. 적어도 제 사용법에서는 작동하는 것 같습니다. 추가 (정보에 입각 한) 입력 및 이전 바이너리 파일 형식에서 동일한 작업을 수행하는 방법에 매우 기뻐할 것입니다.
다음 코드는 텍스트가
을 숨길 경우 식별하는 데 도움이POIFSFileSystem FS = NULL;
boolean isHidden = false;
try {
fs = new POIFSFileSystem(new FileInputStream(filesname));
HWPFDocument doc = new HWPFDocument(fs);
WordExtractor we = new WordExtractor(doc);
String[] paragraphs = we.getParagraphText();
System.out.println("Word Document has " + paragraphs.length
+ " paragraphs");
Range range = doc.getRange();
for (int k = 0; k < range.numParagraphs(); k++) {
org.apache.poi.hwpf.usermodel.Paragraph paragraph = range
.getParagraph(k);
paragraph.text().trim();
paragraph.text().replaceAll("\\cM?\r?\n", "");
for (int j = 0; j < paragraph.numCharacterRuns(); j++) {
org.apache.poi.hwpf.usermodel.CharacterRun cr = paragraph
.getCharacterRun(j);
if (cr.isVanished()) {
// it is hidden
System.out.println("text is hidden ");
isHidden = true;
break;
}
}
POI 문서에서 볼 수있는 것은 헤더 만 읽고 조작 할 수 있지만 기록을 검색하는 옵션은 없습니다. 누군가가 관련 참조를 정확히 지적 할 수 있다면 허락한다는 것은 행복합니다. –