Comment définir l'orientation de la page pour un document Word?

- Je utiliser Apache POI XWPF de créer et de gérer MS Word documents. Mais je n'ai pas trouvé dans la documentation comment changer l'orientation de la page.

Apparemment, cela devrait le faire:

XWPFDocument doc = new XWPFDocument();

CTDocument1 document = doc.getDocument();
CTBody body = document.getBody();

if (!body.isSetSectPr()) {
     body.addNewSectPr();
}
CTSectPr section = body.getSectPr();

if(!section.isSetPgSz()) {
    section.addNewPgSz();
}
CTPageSz pageSize = section.getPgSz();

pageSize.setOrient(STPageOrientation.LANDSCAPE);

Mais cette méthode ne fonctionne pas correctement. Je peux définir l'orientation de la page en mode paysage, et quand j'ai lu l'orientation de la page dans le code, j'obtiens le paysage. Tous les droits. Mais si j'ouvre le document enregistré, j'ai format portrait. Ce paramètre ne fonctionne pas en fait. Quel pourrait être le problème?

Comme une solution de contournement, je suis obligé de commencer à travailler avec un document vide créé manuellement en mode paysage ou en format portrait. Mais je veux créer des documents par programme à partir de zéro dans le besoin d'orientation.

Par exemple PI HSSF et XSSF avoir des fonctionnalités pour basculer entre le mode paysage et portrait. C'est setLandscape() méthode de org.apache.poi.ss.usermodel.PrintSetup interface.

Mais qu' XWPF ou HWPF?

Avez-vous essayez de lire le Apache POI FAQ sur ce qu'il faut faire quand un CTsomething classe n'est pas dans le pi-ooxml-schémas jar?
Merci pour votre remarque. Mais cela ne résout pas mon problème. J'ai ajouté le droit à des versions de tous les pots. Et je ne reçois pas toutes les exceptions, tout se compile et s'exécute. Mais le sujet est toujours d'actualité. Comment faire pour modifier l'orientation du document correctement? Le code ci-dessus ne fonctionne pas correctement. J'ai défini l'orientation de la page en paysage dans la manière ci-dessus, mais je continue à voir format portrait quand j'ai ouvert le document.
Si vous définissez un document en mode Paysage dans word, enregistrer sous .docx, puis décompressez le fichier résultant (.docx est un zip de fichiers xml), d'où l'orientation obtenez réellement ensemble?
C'est Apache POI ne peut pas résoudre ce problème?
Il peut probablement le faire, mais il faudra un peu de travail, car apparemment personne n'a jusqu'à présent, avait besoin de cette fonctionnalité suffisante pour soumettre un patch...

OriginalL'auteur kapand | 2013-11-25