- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
XWPF 段落 POI -我想创建段落,但在本段落的最后一个文本或最后一行中没有自动换行。如何设置......谢谢....
String kalimat="Aaaa bbb ccc ddd eee fffffff ggg hhh. Jjjjj kkk lll mmm nnnn oo pppppp qqqqq rrrr sssssssss tt uuu.";
paragraph = document.createParagraph();
paragraph.setAlignment(ParagraphAlignment.BOTH);
paragraph.setSpacingBefore(0);
paragraph.setSpacingAfter(0);
paragraph.setSpacingBetween(1.5);
run = paragraph.createRun();
run.setFontFamily("Bookman Old Style");
run.setFontSize(12);
run.addTab();
run.setText(kalimat);
paragraph = document.createParagraph();
**//paragraph.setWordWrap(false);**
//paragraph.setWordWrapped(false);
paragraph.setAlignment(ParagraphAlignment.BOTH);
paragraph.setSpacingBefore(0);
paragraph.setSpacingAfter(0);
paragraph.setSpacingBetween(1.5);
run = paragraph.createRun();
run.setFontFamily("Bookman Old Style");
run.setFontSize(12);
run.setText("---------------------------------------------------------------------------------------------------------------------------------------------");
最佳答案
Word 通常无法将所有自动换行设置为不换行。它永远不会在页边距中打印任何内容,除非设置了进入页面边框的缩进。当然,它也永远不会打印超出页面大小本身的内容。
因此唯一的可能性是将段落缩进设置为负数,这意味着进入页边距。例如,设置右段落缩进 -6 英寸意味着该缩进进入右页边距 6 英寸。
但是就您的示例而言,我怀疑您想要在段落下划线。这不应该使用 ASCII 艺术 (----------
) 来完成,而最好使用适当的段落设置。
但是从您之前的问题中我可以看到您还希望有一个对齐的段落,其中填充字符(前导字符)直到最后一行的右页边距。这可以通过在右页边距位置使用制表位来实现。但是页面大小和页边距需要明确设置。到目前为止,apache poi 还没有完全支持这一点。因此,需要使用低级 ooxml-schemas
类。
示例(使用apache poi 4.0.1
)显示了一切:
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;
public class CreateWordParagraphRightIndentBottomBorderline {
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
run.setText("Following paragraph has right indent set going into right page margin:");
paragraph = document.createParagraph();
paragraph.setIndentationRight(-1440*6); // measurement unit is Twips (Twentieth of an inch point)
// 1 inch = 72 pt = 72 * 20 = 1440 Twips; -1440*6 = -6 inches right indention
run=paragraph.createRun();
run.setText("This text goes into the page margin. This text goes into the page margin. This text goes into the page margin. This text goes into the page margin. ");
paragraph = document.createParagraph();
paragraph.setBorderBottom(Borders.SINGLE);
run=paragraph.createRun();
run.setText("This is a paragraph which is bottom underlined.");
paragraph = document.createParagraph();
paragraph.setAlignment(ParagraphAlignment.BOTH); // alingment justify
// set tab stop at position 6.5 inches
// (right page margin for page size letter and 1 inch left and right page margin)
paragraph.getCTP().getPPr().addNewTabs().addNewTab();
paragraph.getCTP().getPPr().getTabs().getTabArray(0).setVal(
org.openxmlformats.schemas.wordprocessingml.x2006.main.STTabJc.LEFT);
paragraph.getCTP().getPPr().getTabs().getTabArray(0).setLeader(
org.openxmlformats.schemas.wordprocessingml.x2006.main.STTabTlc.HYPHEN);
paragraph.getCTP().getPPr().getTabs().getTabArray(0).setPos(java.math.BigInteger.valueOf(Math.round(6.5 * 1440)));
run=paragraph.createRun();
run.setText("This is justify aligned paragraph having fill characters (leaders) up to tab stop in last line. This is justify aligned paragraph having fill characters (leaders) up to tab stop in last line. This is justify aligned paragraph having fill characters (leaders) up to tab stop in last line.");
run.addTab();
// set page size letter format (8.5 x 11 inches)
document.getDocument().getBody().addNewSectPr().addNewPgSz();
document.getDocument().getBody().getSectPr().getPgSz().setW(java.math.BigInteger.valueOf(Math.round(8.5 * 1440)));
document.getDocument().getBody().getSectPr().getPgSz().setH(java.math.BigInteger.valueOf(Math.round(11 * 1440)));
// set 1 inch left and right page marign
document.getDocument().getBody().getSectPr().addNewPgMar();
document.getDocument().getBody().getSectPr().getPgMar().setLeft(java.math.BigInteger.valueOf(1440));
document.getDocument().getBody().getSectPr().getPgMar().setRight(java.math.BigInteger.valueOf(1440));
FileOutputStream out = new FileOutputStream("CreateWordParagraphRightIndentBottomBorderline.docx");
document.write(out);
out.close();
document.close();
}
}
结果:
关于java - XWPF POI 如何在没有自动换行的情况下设置段落中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53926521/
我有一个包含单个表的 .docx 文件。我想删除从第 2 行到末尾的所有文本。但是,方法 myTable.getRow(somecounter).getCell(somecounter2).setTe
我正在尝试创建一个包含一列的简单表格。 我创建一个新行,并在每行中创建一个新段落。问题是每一行都以一个空行开头 - 我猜是新段落创建了它。 我之前尝试设置间距、缩进等,但没有成功。 fo
我正在 JavaFX 中编写一个程序,用于转换没有缩进的文章,例如 MLA 样式的文档。我现在的问题是,如何为特定的 xwpfParagraph 启用悬挂缩进?我正在使用 Apache poi 3.1
我正在尝试使用 POI 将 word 文件转换为 txt 文件,但是当我使用 org.apache.poi.xwpf.usermodel.XWPFDocument 时它告诉我说“无法解析 xwpf”
XWPF 段落 POI -我想创建段落,但在本段落的最后一个文本或最后一行中没有自动换行。如何设置......谢谢.... String kalimat="Aaaa bbb ccc ddd eee f
我的目标是使用 Apache POI 在 Java 中处理 .docx 文档。我想从文档中提取所有内容来创建一个新文档,但仅限于我可以从处理后的文档中选择的特定内容。到目前为止,这适用于表格和文本,但
XWPF Word 文档中存在许多读取和编辑/替换书签的示例。但我想创建一个文档并创建新书签。创建文档 - 没问题: private void createWordDoc() throws IOExc
如何更改所选单词的字体颜色?我想为此创建一个函数,但我的水平对于这个 api 来说太基础了... 这是我的伪鳕鱼: public String setTextColor(String word){
对此进行了一些研究,过去似乎存在与此相关的错误,我不确定它们是否在最新版本中得到解决。 我正在阅读一个 docx 模板,进行一些修改并输出它。我正在复制文档的所有元素,除了位图之外,位图应包含文本的位
我正在尝试将一些形状和 Logo 文件添加到我的 word docx 文档的标题中。添加图片对我有用,但我没有找到任何如何添加形状的解决方案。谁能帮助我吗? String imgFile="logo.
我正在尝试将一些形状和 Logo 文件添加到我的 word docx 文档的标题中。添加图片对我有用,但我没有找到任何如何添加形状的解决方案。谁能帮助我吗? String imgFile="logo.
我正在尝试使用 Java/Coldfusion 中的 Apache Poi 构建一个 word 文档。到目前为止,它让我可以做很多我想要的格式,除了段落的行间距。有谁知道我如何将段落设置为单行间距?它
本文整理了Java中org.apache.poi.xwpf.usermodel.XWPFHeaderFooter类的一些代码示例,展示了XWPFHeaderFooter类的具体用法。这些代码示例主要来
本文整理了Java中org.apache.poi.xwpf.usermodel.XWPFStyle类的一些代码示例,展示了XWPFStyle类的具体用法。这些代码示例主要来源于Github/Stack
本文整理了Java中org.apache.poi.xwpf.usermodel.XWPFRelation类的一些代码示例,展示了XWPFRelation类的具体用法。这些代码示例主要来源于Github
本文整理了Java中org.apache.poi.xwpf.usermodel.XWPFPicture类的一些代码示例,展示了XWPFPicture类的具体用法。这些代码示例主要来源于Github/S
我尝试使用 tblPr 元素及其属性 tblpX 和 tblpY 来定位表格。我的问题是,当我打开 .docx 文件时,表格位于页面的左上角,忽略 tblpX 和 tblPY 值。您可以找到有关 .d
我想创建一个普通表格,并将其方向设置为“从右到左”“可以使用此选项设置Table Direction”,并使其对齐为“从左到右”,可以使用此选项设置Table Alignment 我已经尝试过这个:
我知道,HWPF 有这个功能,但我在 XWPF 中找不到任何类似的功能。 也许有解决此问题的方法。如果您知道一些,请与我分享。 提前致谢! 最佳答案 在 Word Office OpenXML 中,自
我正在尝试从使用 Apache poi XWPF 生成的 .docx 文档中删除一段。我可以使用 HWPF 轻松地使用 .doc word 文档来完成此操作,如下所示: for (String
我是一名优秀的程序员,十分优秀!