允许用户通过编程读取和创建各种开放文档格式文件,包括电子表格。 我正在尝试使用重新投放的“简单API”设置我正在创建的电子表格的各种打印选项,但是看来它们尚未公开一种简单的方法来修改文档属性,例如页面边距,页面大小(高度/宽度)和页面方向(景观/肖像)。 我需要从
spreadsheetdocument到可以修改这些值的东西。
可以对电子表格图提供访问权限的一些基础ODF对象进行必要的呼叫。首先,我们需要获取适当的文档属性参考(对于所有示例,“电子表格”是对创建的电子表格图的参考):
StyleMasterPageElement defaultPage = spreadsheet.getOfficeMasterStyles().getMasterPage("Default");
String pageLayoutName = defaultPage.getStylePageLayoutNameAttribute();
OdfStylePageLayout pageLayoutStyle = defaultPage.getAutomaticStyles().getPageLayout(pageLayoutName);
PageLayoutProperties pageLayoutProps = PageLayoutProperties.getOrCreatePageLayoutProperties(pageLayoutStyle);
pageLayoutProperties.setPageHeight(pageHeightInMM);
pageLayoutProperties.setPageWidth(pageWidthInMM);
pageLayoutProperties.setPrintOrientation(PrintOrientation.LANDSCAPE);
pageLayoutProperties.setMarginLeft(leftMarginInMM);
pageLayoutProperties.setMarginRight(rightMarginInMM);
pageLayoutProperties.setMarginTop(topMarginInMM);
pageLayoutProperties.setMarginBottom(bottomMarginInMM);
I基于其他开发人员的注释
如何使用原始ODFDOM API进行此操作,并能够使用此代码成功更改生成的文档的属性。
@Romeara的答案不再起作用。在ODFDOM的最新版本中,0.12.0根本没有类。相反,必须使用PageLayoutProperties
类的setProperty