java - 在 iText 中水平对齐段落

标签 java pdf itext

我正在尝试将段落对齐设置为右对齐。

这是我尝试过的,没有任何结果:

Paragraph paragraph1 = new Paragraph(str1);
paragraph1.setHorizontalAlignment(HorizontalAlignment.RIGHT);
document.add(paragraph1);

我已经找到了很多 examples ,但它们似乎都处理表格中的单元格。就我而言,这只是一个段落。

最佳答案

请尝试 setTextAlignment 方法:

Paragraph paragraph1 = new Paragraph(str1);
paragraph1.setTextAlignment(TextAlignment.RIGHT);
document.add(paragraph1);

值得一提的是,setHorizo​​ntalAlignment 和 setTextAlignment 方法具有不同的目标。前者是关于放置段落本身(作为一个元素),后者是关于放置其内容。

要查看差异,可以设置段落的宽度并将该段落添加到 div 元素。

我创建了一个小测试来演示它:

    PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outFileName));
    Document document = new Document(pdfDocument);

    Div div = new Div()
            .setWidth(500)
            .setBackgroundColor(ColorConstants.YELLOW);

    Paragraph paragraph = new Paragraph("Hello World!")
            .setTextAlignment(TextAlignment.CENTER)
            .setHorizontalAlignment(HorizontalAlignment.RIGHT)
            .setWidth(300)
            .setBackgroundColor(ColorConstants.BLUE);

    div.add(paragraph);
    document.add(div);

如您所见,我在这里创建了一个段落,其水平对齐设置为右对齐,文本对齐设置为居中。

结果看起来如下:enter image description here

关于java - 在 iText 中水平对齐段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54088539/

相关文章:

java - jsf 我可以从 bean 关闭浏览器选项卡吗?

java - 当从命令行或 jar 文件执行应用程序时,JTable 将无法正确显示 Unicode。不过在 Eclipse 中它工作得很好

java - 用于创建交互式 PDF 的 API

java - Spring Boot 与 GraphQL - 架构问题

java - 在 Java 中实例化泛型类

java - iText 选择保存 PDF 的路径

php - 如何将PDF签名写入MySQL数据库

c# - 使用 ITextSharp 从内存流附加 PDF 文件时遇到问题

c# - 获取单元格占用的行数 Itextsharp

java - 如何使用 IText 在 PDF 页面中间插入内容