2016-06-30 10 views

답변

0

다음은 문서의 모든 문자를 계산하는 간단한 예입니다.

xText = xTextDocument.getText(); 
XTextCursor xTextCursor = xText.createTextCursorByRange(xText.getStart()); 
int num_chars = 0; 
while (xTextCursor.goRight((short)1, false)) { num_chars++; } 
System.out.println("Found " + num_chars + " characters."); 

같은 테이블 또는 프레임과 같은 개체가 그러나 있다면, 하나의 텍스트 커서가 작동하지 않습니다. view cursor을 사용하면 테이블과 프레임을 처리하지만 속도는 훨씬 느려집니다. 보다 완전한 예제는 7.14.2의 Andrew Pitonyak's macro document을 참조하십시오.

또 다른 방법은 Andrew 문서의 섹션 7.16.3 에서처럼 문서의 모든 텍스트 내용을 열거하는 것입니다. Java 관련 정보는 Dev guide에도 있습니다. 그런 다음 각 텍스트 부분에 대해 텍스트 커서를 작성하여 반복하고 합리적으로 빠릅니다.

+0

이 코드에는 단어와 공백의 수는 있지만 문자의 수는 없습니다. 어떻게 변경할 수 있습니까? – Benjamin

+0

이 코드를 테스트했을 때 예상대로 문자 수가 표시되었습니다. [goRight()] (https://www.openoffice.org/api/docs/common/ref/com/sun/star/text/XTextCursor.html#goRight)를 호출하면 한 번에'nCount' 문자가 사용됩니다. 아마도 대신 [단어 커서] (https://www.openoffice.org/api/docs/common/ref/com/sun/star/text/XWordCursor.html)를 사용 했습니까? –

+0

위와 똑같은 코드 (더하기 코드)를 사용하고 문자 대신 단어와 공백을 계산합니다. – Benjamin