Ich möchte die Anzahl der Seiten zählen, die produziert werden würden, wenn ich ein OpenOffice.org Dokument ausdrucken würde. Ich kann tun es bereits für ODT-Dateien mit dem folgenden Code:Wie kann die Nr. von Seiten in einer OpenOffice.org-Tabelle programmgesteuert erhalten?
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);
}
Ich möchte wissen, ob ich etwas ähnliches mit ODS-Dateien tun. Zählen Sie vielleicht das Nein. von Seitenumbrüchen in den Blättern? Es gibt eine ShowPageBreaks
Eigenschaft in der SpreadsheetViewSettings
Klasse, aber keine PageBreakCount
oder getPageBreaks()
. : P
Entschuldigung, ich habe gerade gemerkt, dass ich nicht klar gemacht habe, dass ich die Nr. von Seiten, die produziert werden würden, wenn ich die Tabelle ausdrucken würde. Es scheint, dass die Nr. der Blätter möglicherweise nicht immer die gleiche wie die Nr. der ausgedruckten Seiten –