首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iText段落溢出处理

iText段落溢出处理
EN

Stack Overflow用户
提问于 2015-12-24 08:16:27
回答 1查看 1.4K关注 0票数 3

如何为iText文档中固定矩形的段落处理真正长的动态文本?

代码语言:javascript
复制
ColumnText ct = new ColumnText(canvas);
Font paragraphFont=new Font(baseFont,4.5f);
ct.setSimpleColumn(9, 70, 70, 95);
Paragraph paragraph=new Paragraph("REALLLLLLLLLLY LONGGGGGGGGGG text",paragraphFont);
ct.addElement(paragraph);
ct.go();
EN

回答 1

Stack Overflow用户

发布于 2015-12-24 21:03:43

我已经在一个我命名为SimpleColumn的示例中复制/粘贴了您的代码片段

代码语言:javascript
复制
public void createPdf(String dest) throws IOException, DocumentException {
    // step 1
    Rectangle rect = new Rectangle(100, 120);
    Document document = new Document(rect);
    // step 2
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
    // step 3
    document.open();
    // step 4
    PdfContentByte canvas = writer.getDirectContent();
    BaseFont baseFont = BaseFont.createFont();
    ColumnText ct = new ColumnText(canvas);
    Font paragraphFont=new Font(baseFont,4.5f);
    ct.setSimpleColumn(9, 70, 70, 95);
    Paragraph paragraph = new Paragraph("REALLLLLLLLLLY LONGGGGGGGGGG text",paragraphFont);
    ct.addElement(paragraph);
    ct.go();
    // step 5
    document.close();
}

这将生成文件simple_column.pdf

如您所见,文本正确显示在一个矩形内,其中左下角的坐标为x = 9; y = 70,右上角的坐标为x = 70, y = 95。文本不适合此矩形的宽度,因此它被换行(在空白字符处拆分,分布在两行上)。

这是当您想要在固定的矩形中呈现段落时处理它们的长度。如果段落不适合矩形,则段落的其余部分将存储在ColumnText对象中。您可以定义一个新的简单列(使用不同的坐标)来呈现段落的其余部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34445641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档