gpt4 book ai didi

java - 在未设置的 android 字体上使用 iText

转载 作者:行者123 更新时间:2023-12-02 11:20:45 26 4
gpt4 key购买 nike

我正在使用 iText 在 android 中创建 PDF,除了段落中的字体之外,一切正常(字体在表格中工作正常)

我声明了这样的字体

 Font titleFont = FontFactory.getFont(FontFactory.HELVETICA_BOLD,18);

像这样设置

    //create title
Paragraph p1 = new Paragraph("Title");
p1.setAlignment(Paragraph.ALIGN_LEFT);
p1.setFont(titleFont);
//add title to document
document.add(p1);

但我最终得到默认大小为 12 的默认 helvetica,而且如果我对表格中的元素执行相同的操作,字体也可以正常工作,就像这样

    Font paraFont = FontFactory.getFont(FontFactory.HELVETICA,14);

Paragraph p = new Paragraph(format.format(cal.getTime()));
p.setAlignment(Element.ALIGN_LEFT);
p.setFont(paraFont);
cell.addElement(p);

完美运行,任何想法

最佳答案

如果你这样做:

Paragraph p1 = new Paragraph("Font size 12 ");
p1.setAlignment(Paragraph.ALIGN_LEFT);
p1.setFont(titleFont);
p1.add("Font size 18");

您会注意到文本“字体大小 12”的字体大小为 12,文本“字体大小 18”的字体大小为 18。为什么?嗯,这就是 iText 5 及更早版本中的逻辑:字体改变的同时字体也改变。即“字体大小 12” 之前,“字体大小 18” 之前。

将代码更改为:

Paragraph p1 = new Paragraph("Font size 12 ", titleFont);
p1.setAlignment(Paragraph.ALIGN_LEFT);

或者将其更改为:

Paragraph p1 = new Paragraph();
p1.setAlignment(Paragraph.ALIGN_LEFT);
p1.setFont(titleFont);
p1.add("Font size 18");

关于java - 在未设置的 android 字体上使用 iText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49939399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com