Writer: Dokument neu layouten / korrekte Seitenzahl finden
Verfasst: Fr 20. Mai 2016, 11:11
Hallo!
Ich verwende diesen C++-Code, um die Seitenzahl in einem Writer-Doc zu erhalten:
Das funktioniert solala, denn: Wenn ich vorher etwas eingefügt habe und das LibreOffice-Fenster gerade im Hintergrund ist, wird die falsche Anzahl von Seiten zurückgegeben. Sieht man auch schön, wenn man LibreOffice in den Vordergrund holt: Dann steht noch kurz die falsche Seitenzahl da, bevor diese aktualisiert wird.
Wir kann ich die Aktualisierung erzwingen, ohne das Fenster (manuell) in den Vordergrund holen zu müssen? Ich habe versucht:
Und auch:
... alles ohne Effekt, die Seitenzahl bleibt falsch.
Ich verwende diesen C++-Code, um die Seitenzahl in einem Writer-Doc zu erhalten:
Code: Alles auswählen
Reference<XModel> rModel (rDoc, UNO_QUERY);
Reference<XTextViewCursorSupplier> rCurSup (rModel->getCurrentController(), UNO_QUERY);
Reference<XPageCursor> rCursor (rCurSup->getViewCursor(), UNO_QUERY);
rCursor->jumpToLastPage();
return rCursor->getPage();
Wir kann ich die Aktualisierung erzwingen, ohne das Fenster (manuell) in den Vordergrund holen zu müssen? Ich habe versucht:
Code: Alles auswählen
Reference <XTextDocument> rTxtDoc ( rDoc, UNO_QUERY );
rTxtDoc->reformat();
Code: Alles auswählen
Reference<XModel> rModel(rDoc, UNO_QUERY);
rModel->lockControllers();
rModel->unlockControllers();