I use java uno api 3.2.1 and try to convert my Writer document page into JPEG file. I use the next code for this:
Code: Select all
XComponentLoader cLoader = getLoader();
final Map<String, Object> defaultLoadProperties = new HashMap<String, Object>();
defaultLoadProperties.put("Hidden", Boolean.TRUE);
defaultLoadProperties.put("ReadOnly", Boolean.TRUE);
XComponent sourceDoc = cLoader.loadComponentFromURL(loadUrl, "_blank", 0, toPropertyValues(defaultLoadProperties));
try {
XTextDocument xTextDocument = UnoRuntime.queryInterface(XTextDocument.class, sourceDoc);
XDrawPageSupplier xDrawPagesSupplier = UnoRuntime.queryInterface(XDrawPageSupplier.class, xTextDocument);
XDrawPage page = xDrawPagesSupplier.getDrawPage();
XComponent xComp = UnoRuntime.queryInterface(XComponent.class, page);
Object exportFilter = getServiceManager().createInstanceWithContext("com.sun.star.drawing.GraphicExportFilter", ooConnection);
XExporter xExporter = UnoRuntime.queryInterface(XExporter.class, exportFilter);
xExporter.setSourceDocument(xComp);
XFilter xFilter = UnoRuntime.queryInterface(XFilter.class, xExporter);
PropertyValue aFilterData_thumb[] = new PropertyValue[2];
aFilterData_thumb[0] = new PropertyValue();
aFilterData_thumb[0].Name = "PixelWidth";
aFilterData_thumb[0].Value = 1241;
aFilterData_thumb[1] = new PropertyValue();
aFilterData_thumb[1].Name = "PixelHeight";
aFilterData_thumb[1].Value = 1753;
PropertyValue aProps_thumb[] = new PropertyValue[3];
aProps_thumb[0] = new PropertyValue();
aProps_thumb[0].Name = "MediaType";
aProps_thumb[0].Value = "image/jpeg";
aProps_thumb[1] = new PropertyValue();
aProps_thumb[1].Name = "URL";
aProps_thumb[1].Value = storeUrl;
aProps_thumb[2] = new PropertyValue();
aProps_thumb[2].Name = "FilterData";
aProps_thumb[2].Value = aFilterData_thumb;
xFilter.filter(aProps_thumb);
} finally {
closeDocument(sourceDoc);
}
Thanks.
P.S. Manually (by OO menu) I can export to JPEG correctly