2015-02-16 24 views
5

Bir java programından yazdırmak için basit bir word belgesi oluşturmam gerekiyor. Çıktının ayrı sayfalara yazdırılması gereklidir. Aşağıdaki kodu kullanıyorum:Apache poi sayfa sonları

XWPFDocument document = new XWPFDocument(); 
 
XWPFParagraph paragraph = document.createParagraph(); 
 
XWPFRun run = paragraph.createRun(); 
 
run.setText("TITLE"); 
 
run.addCarriageReturn(); 
 
run.setText("some text and stuff here"); 
 
run.addBreak(BreakType.PAGE); 
 
run.setText("more text"); 
 
run.addCarriageReturn(); 
 
run.setText("one more line");

Sorun olan şey bu sayfa sonu bir sayfa (yukarıdaki metnin son iki satır üzerinde kendi belirir sonra eklemek deneyin Örnek farklı sayfalarda görünecektir). Her ifadeden sonra artık bir "otomatik sayfa sonu" varmış gibi. Yeni çalıştırma veya yeni paragraf kullanmayı denedim, ancak sonuç her zaman aynı. Herhangi bir fikir? Burada çok sinirlenmeye başlıyor ....

+0

Sen belgelere acoording, BreakType.PAGE kullanın: Belge sayfa görünümünde görüntülendiğinde, geçerli kopmanın belgenin bir sonraki sayfasında kendisini yeniden başlatacağını belirtir. – DeiAndrei

+0

Yaptığım şey buydu. Ama bir vuruş etkisi var gibi görünüyor ve sonra her şeyi ayrı sayfalara koyar ... – BendyMan

cevap

4

Bir cevap bulduk - en iyi yol olduğundan emin değilsiniz. Sayfanın son satırından sonra bir satırbaşı eklemek ya da bir sonraki sayfaya geçmek gerekir. Sonra Break (WORD_WRAPPING) ekleyin ve sonraki sayfa için yeni bir çalışma başlatın. (bu çözümün tek sorun her yeni sayfanın en üstünde boş bir satır bırakır olduğunu!)

XWPFDocument document = new XWPFDocument(); 
 
XWPFParagraph paragraph = document.createParagraph(); 
 
XWPFRun run = paragraph.createRun(); 
 
run.setText("TITLE"); 
 
run.addCarriageReturn(); 
 
run.setText("some text and stuff here"); 
 
run.addCarriageReturn();     //separate previous text from break 
 
run.addBreak(BreakType.PAGE); 
 
run.addBreak(BreakType.WORD_WRAPPING); //cancels effect of page break 
 
WXPFRun run2 = paragraph.createRun(); //create new run 
 
run2.setText("more text"); 
 
run2.addCarriageReturn(); 
 
run2.setText("one more line");

5
XWPFDocument document = new XWPFDocument(); 
... 
XWPFParagraph paragraph = document.createParagraph(); 
paragraph.setPageBreak(true); 
İlgili konular