OpenOffice.org 문서를 인쇄 할 때 생성 될 페이지 수를 계산하고 싶습니다. 다음 코드를 사용하여 ODT 파일에 대해 이미 수행 할 수 있습니다.어떻게 할 수 있습니까? OpenOffice.org 스프레드 시트의 페이지를 프로그래밍 방식으로 얻을 수 있습니까?
public short getPageCount() {
XModel model = (XModel) UnoRuntime.queryInterface(XModel.class,
getDocument());
XTextViewCursorSupplier supplier = (XTextViewCursorSupplier) UnoRuntime
.queryInterface(XTextViewCursorSupplier.class, model
.getCurrentController());
XTextViewCursor viewCursor = supplier.getViewCursor();
XPageCursor pageCursor = (XPageCursor) UnoRuntime.queryInterface(
XPageCursor.class, viewCursor);
pageCursor.jumpToLastPage();
return pageCursor.getPage();
}
public Object getDocument() {
XComponentContext context = Bootstrap.bootstrap();
XMultiComponentFactory factory = context.getServiceManager();
Object desktop = factory.createInstanceWithContext(
"com.sun.star.frame.Desktop", context);
XComponentLoader loader = (XComponentLoader) UnoRuntime.queryInterface(
XComponentLoader.class, desktop);
XComponent component = loader.loadComponentFromURL("file:///path/to/file.odt",
"_blank", 0, new PropertyValue[0]);
return UnoRuntime.queryInterface(XTextDocument.class,
component);
}
ODS 파일과 비슷한 작업을 수행 할 수 있는지 알고 싶습니다. 어쩌면 아니오. 시트에 페이지 나누기가 있습니까? SpreadsheetViewSettings
클래스에는 ShowPageBreaks
속성이 있지만 PageBreakCount
또는 getPageBreaks()
은 없습니다. : P
미안하지만, 나는 단지 내가 원하지 않는다는 것을 분명히하지 않았다는 것을 깨달았다. 스프레드 시트를 인쇄하면 생성 될 페이지 수를 나타냅니다. 아니요. 시트 수는 항상 아니오와 동일하지 않을 수 있습니다. 인쇄 된 페이지 수. –