1

我使用 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();
4

2 回答 2

0

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

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

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

于 2021-04-24T16:21:29.037 回答
0

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

要将格式应用于文本的某些部分,您可以将其分成几个块。OpenPDF 中的AChunk是具有特定Font的字符串。不是String在段落中添加(未格式化的),而是添加一个Chunknew 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();

结果如下所示:

结果

于 2021-07-18T16:19:59.850 回答