【问题标题】:Center and format text with OpenPDF使用 OpenPDF 居中和格式化文本
【发布时间】:2021-07-18 11:47:18
【问题描述】:

我使用 OpenPDF 在 Java 中创建了一个 PDF 文件并插入了一个段落。问题是我想把它放在中间,而不是左边。如何做到这一点?

第二个问题:如何在测试中放置具有特定格式的单词?
例如:“Hello and welcome”(欢迎应加粗)

这是我的代码:

Document document = new Document();
String PDFPath = "output.pdf";
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(PDFPath));
Font font_bold = new Font(Font.TIMES_ROMAN, 16, Font.BOLD, Color.BLACK);
Font font_normal = new Font(Font.TIMES_ROMAN, 15, Font.NORMAL, Color.BLACK);
Paragraph p1 = new Paragraph("Ordonnance", font_bold);
document.open();
document.add(p1);
document.close();

【问题讨论】:

    标签: java openpdf


    【解决方案1】:

    如果您想让段落居中,您需要定义对齐方式:
    p1.setAlignment(Element.ALIGN_CENTER);

    要将格式应用于文本的某些部分,您可以将其分成几个块。 OpenPDF 中的Chunk 是具有特定字体 的字符串。不是在段落中添加String(未格式化),而是添加一个Chunk-对象,例如new Chunk("Hello and ", fontNormal),它定义了要使用的文本和字体。

    这里是你想根据问题做的代码:

    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
    document.open();
    
    Font fontNormal = new Font(Font.TIMES_ROMAN, 15, Font.NORMAL);
    Font fontBold = new Font(Font.TIMES_ROMAN, 16, Font.BOLD);
    
    Paragraph p1 = new Paragraph();
    p1.setAlignment(Element.ALIGN_CENTER);
    p1.add(new Chunk("Hello and ", fontNormal));
    p1.add(new Chunk("welcome", fontBold));
    document.add(p1);
    
    document.close();
    

    结果如下:

    【讨论】:

      【解决方案2】:

      您的第一行有一些奇怪的声明,但这应该可以:

      Document document = new Document();
      String PDFPath = "D:\\test.pdf";
      PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(PDFPath));
      Font font_bold = new Font(Font.TIMES_ROMAN, 16, Font.BOLD, Color.BLACK);
      Font font_normal = new Font(Font.TIMES_ROMAN, 15, Font.NORMAL, Color.BLACK);
      Paragraph p1 = new Paragraph("Ordonnance", font_bold);
      p1.setAlignment(Element.ALIGN_CENTER);
      document.open();
      document.add(p1);
      document.close();
      

      你只需要设置段落的对齐方式

      【讨论】:

        猜你喜欢
        • 2020-11-22
        • 2018-07-23
        • 2020-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多