2016-05-27 1 views
1

J'ai du mal à donner un sens à l'API OpenOffice. Grâce à SO j'ai travaillé sur comment activer la numérotation des lignes. Maintenant, je dois désactiver les en-têtes et les pieds de page. Obtention de l'XPropertySet d'un document XComponent XPropertySet propSet = UnoRuntime.queryInterface (XPropertySet.class, document);API OpenOffice: comment désactiver les en-têtes et les pieds de page

et la mise en

propSet.setPropertyValue ("HeaderIsOn", Boolean.FALSE); propSet.setPropertyValue ("FooterIsOn", Boolean.FALSE);

ne fonctionne pas. Comme beaucoup d'autres, je ne peux pas donner un sens à la documentation.

J'ai vu un exemple Perl (Perl OpenOffice::OODoc - accessing header/footer elements) et ne peux pas trouver comment obtenir les en-têtes/styles de la "page principale" en Java.

Aide!

Répondre

1

Obtient le style de page et définit ses propriétés. Voici le code qui a fonctionné pour moi:

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); 

exemples de l'ONU Perl peut être difficile, peut-être parce qu'ils utilisent leur propre bibliothèque OpenOffice spéciale. Au lieu de cela, j'ai trouvé ceux-ci pour être utiles:

+1

Merci Jim, cela a fait l'affaire. Ces liens que j'avais gaffés par le passé ont maintenant un sens. Les en-têtes et les pieds de page sont des propriétés de style plutôt que des propriétés 'page' ou 'document'. –

+0

Un jour, je vais traquer une version poster de l'API ODF quelque chose comme celui-ci Microsoft fournir leur API Javascript "Open Office" https://www.microsoft.com/en-pk/download/confirmation.aspx?id= 36850 –