2015-04-22 14 views
5

Desidero impostare i margini della pagina per il documento word creato utilizzando apache poi-3.9. Ho trovato che può essere fatto utilizzando CTPageMar ma CTPageMar non è stato risolto. Sto usando apache POI-3.9come impostare i margini della pagina per il documento word usando apache poi?

Ho provato questo

CTSectPr sectPr = document.getDocument().getBody().addNewSectPr(); 
    CTPageMar pageMar = sectPr.addNewPgMar(); 
    pageMar.setLeft(BigInteger.valueOf(720L)); 
    pageMar.setTop(BigInteger.valueOf(1440L)); 
    pageMar.setRight(BigInteger.valueOf(720L)); 
    pageMar.setBottom(BigInteger.valueOf(1440L)); 
+0

Vedere questo thread - http://apache-poi.1045710.n5.nabble.com/How-to-change-margins-of-a-word-document-td5710067.html – LittlePanda

+0

grazie @LittlePanda il codice per marchio aiutato ma funziona per il formato doc non per docx. come posso impostare i margini durante la creazione del documento xwpf. (il codice dal collegamento descrive i margini di impostazione per il documento esistente) – imdzeeshan

+0

È possibile che si stia utilizzando XWPFDocument nstead di HWPF? – LittlePanda

risposta

3

Per quanto ho capito, il problema non è correlato al codice fornito, è collegato con mancante CTPageMar di classe.

La fonte delle classi mancanti problema è chiaramente spiegato in Apache POI FAQ:

di utilizzare nuovi formati di file OOXML, POI richiede un barattolo contenente le XSD formato file [...] È possibile scaricare il vaso a mano dal POI Maven Repository.

URL dalle FAQ non funziona, ma è possibile trovare il jar richiesto in central maven repo.

+0

È importante notare che il file ooxml-schemas che contiene tutto non è lo stesso del file poi-ooxml-schemas. Dalle domande frequenti: "Il barattolo completo di tutti gli schemi è ooxml-schemas-1.3.jar ed è attualmente di circa 15 Mb. Il jar più piccolo -ooxml-schema è solo di circa 4mb. parti tipicamente usate però. " – jamsandwich

1

Per risolvere la classe CTPageMar è necessario aggiungere il pacchetto org.apache.poi:ooxml-schema al classpath. Il JAR corrispondente contiene tutti gli schemi. È possibile trovare ulteriori informazioni here.

Problemi correlati