I need to create a simple word document for printing from a java program. It is necessary to have the output printed on separate pages. I'm using the following code:
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");
Trouble is, anything I try to insert after this page break appears on its own on a page (the last two lines of text in the above example will appear on different pages). It's as if there is now an 'auto-page-break' after every statement. I've tried using new run, or new paragraph, but the result is always the same. Any ideas? Starting to get very frustrated here....
XWPFDocument document = new XWPFDocument();
...
XWPFParagraph paragraph = document.createParagraph();
paragraph.setPageBreak(true);
Have found an answer - not sure it's the best way. It's necessary to add a carriage return after the last line of the page, or it too moves to the next page. Then add Break (WORD_WRAPPING), and start a new run for the next page. (The only problem with this solution is it leaves a blank line at the top of each new page!)
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");
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Text");
run.addBreak(BreakType.PAGE);
XWPFRun run2 = paragraph.createRun();
run.setText("Another text");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With