我正在努力理解OpenOffice API。感谢SO,我制定了如何打开行号。现在我需要关闭页眉和页脚。 获取文档XComponent的XPropertySet XPropertySet propSet = UnoRuntime.queryInterface(XPropertySet.class,document);
并设置
propSet.setPropertyValue(" HeaderIsOn",Boolean.FALSE); propSet.setPropertyValue(" FooterIsOn",Boolean.FALSE);
无效。像很多其他人一样,我无法理解文档。
我见过一个Perl示例(Perl OpenOffice::OODoc - accessing header/footer elements)并且无法弄清楚如何获取"主页面#34; Java中的标题/样式。
帮助!
答案 0 :(得分:1)
获取页面样式并设置其属性。以下代码对我有用:
XStyleFamiliesSupplier xSupplier = (XStyleFamiliesSupplier)
UnoRuntime.queryInterface(
XStyleFamiliesSupplier.class, xTextDocument);
XNameAccess xFamilies = (XNameAccess) UnoRuntime.queryInterface (
XNameAccess.class, xSupplier.getStyleFamilies());
XNameContainer xFamily = (XNameContainer) UnoRuntime.queryInterface(
XNameContainer.class, xFamilies.getByName("PageStyles"));
// The style name may be "Default Style" or just "Default" -- check your document.
XStyle xStyle = (XStyle) UnoRuntime.queryInterface(
XStyle.class, xFamily.getByName("Default Style"));
XPropertySet xStyleProps = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, xStyle);
xStyleProps.setPropertyValue ("HeaderIsOn", Boolean.FALSE);
xStyleProps.setPropertyValue ("FooterIsOn", Boolean.FALSE);
Perl UNO示例可能很棘手,可能是因为它们使用自己特殊的OpenOffice库。相反,我发现这些有用: