How to save content into new file before xDesktop.terminate() ?
Code: Select all
XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(
XDesktop.class, oDesktop)
/// some operations on content
xDesktop.termiante();
Code: Select all
XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(
XDesktop.class, oDesktop)
/// some operations on content
xDesktop.termiante();
Code: Select all
XComponentContext xcomponentcontext = Bootstrap.createInitialComponentContext(null);
XUnoUrlResolver urlResolver = UnoUrlResolver.create(xcomponentcontext);
Object initialObject = urlResolver.resolve(
"uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager");
XMultiComponentFactory xOfficeFactory = (XMultiComponentFactory) UnoRuntime.queryInterface(
XMultiComponentFactory.class, initialObject);
XPropertySet xProperySet = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, xOfficeFactory);
Object oDefaultContext = xProperySet.getPropertyValue("DefaultContext");
XComponentContext xOfficeComponentContext = (XComponentContext) UnoRuntime.queryInterface(
XComponentContext.class, oDefaultContext);
Object oDesktop = xOfficeFactory.createInstanceWithContext(
"com.sun.star.frame.Desktop", xOfficeComponentContext);
XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(
XDesktop.class, oDesktop);
XComponent xCurrentComponent = xDesktop.getCurrentComponent();
XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class, xCurrentComponent);
XController xController = xModel.getCurrentController();
XTextViewCursorSupplier xViewCursorSupplier =
(XTextViewCursorSupplier)UnoRuntime.queryInterface(
XTextViewCursorSupplier.class, xController);
XTextViewCursor xViewCursor = xViewCursorSupplier.getViewCursor();
XPropertySet xCursorPropertySet = (XPropertySet)UnoRuntime.queryInterface(
XPropertySet.class, xViewCursor);
XPageCursor xPageCursor = (XPageCursor)UnoRuntime.queryInterface(
XPageCursor.class, xViewCursor);
xPageCursor.jumpToFirstPage();
System.out.println("The current page number is " + xPageCursor.getPage());
xPageCursor.jumpToNextPage();
System.out.println("The next page number is " + xPageCursor.getPage());
xPageCursor.jumpToLastPage();
System.out.println("The last page number is" + xPageCursor.getPage());
XText xDocumentText = xViewCursor.getText();
XTextCursor xModelCursor = xDocumentText.createTextCursorByRange(xViewCursor.getStart());
XParagraphCursor xParagraphCursor = (XParagraphCursor)UnoRuntime.queryInterface(
XParagraphCursor.class, xModelCursor);
xParagraphCursor.gotoEndOfParagraph(false);
xParagraphCursor.setString("Hello");
xDesktop.terminate();
}
Code: Select all
import com.sun.star.frame.XController;
import com.sun.star.frame.XModel;
import com.sun.star.frame.XStorable;
import com.sun.star.io.IOException;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
public static void snippet(XComponentContext xComponentContext, Object oInitialTarget)
{
try
{
XModel xModel = UnoRuntime.queryInterface(
XModel.class, oInitialTarget);
XController xController = xModel.getCurrentController();
XStorable xStorable = UnoRuntime.queryInterface(
XStorable.class, oInitialTarget);
xStorable.store();
}
catch (IOException e1)
{
// store
e1.printStackTrace();
}
}