【问题标题】:Apache poi page breaksApache poi 分页符
【发布时间】:2015-02-16 10:52:47
【问题描述】:

我需要创建一个简单的 Word 文档,以便从 Java 程序进行打印。有必要将输出打印在单独的页面上。我正在使用以下代码:

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

问题是,我在此分页符之后尝试插入的任何内容都会单独出现在页面上(上面示例中的最后两行文本将出现在不同的页面上)。就好像现在每个语句之后都有一个“自动分页符”。 我试过使用新的运行或新的段落,但结果总是一样的。有任何想法吗?在这里开始变得非常沮丧......

【问题讨论】:

  • 您使用 BreakType.PAGE ,根据文档:指定当文档在页面视图中显示时,当前中断应在文档的下一页上重新启动。
  • 这就是我所做的。但它似乎产生了连锁反应,并将其后的所有内容放在单独的页面上......

标签: java apache ms-word page-break


【解决方案1】:
XWPFDocument document = new XWPFDocument();
...
XWPFParagraph paragraph = document.createParagraph();
paragraph.setPageBreak(true);

【讨论】:

    【解决方案2】:

    已找到答案 - 不确定这是不是最好的方法。 需要在页面最后一行后加回车,否则也移动到下一页。 然后添加 Break (WORD_WRAPPING),并为下一页开始新的运行。 (这个解决方案的唯一问题是它会在每个新页面的顶部留下一个空白行!)

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

    【讨论】:

      【解决方案3】:
      XWPFParagraph paragraph = document.createParagraph();
      XWPFRun run = paragraph.createRun();
      run.setText("Text");
      run.addBreak(BreakType.PAGE);
      XWPFRun run2 = paragraph.createRun();
      run.setText("Another text");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-29
        • 2016-05-17
        • 1970-01-01
        • 2015-08-31
        • 1970-01-01
        • 2017-03-11
        • 2017-03-29
        • 1970-01-01
        相关资源
        最近更新 更多