如何在Itext7中使用自定义颜色和自定义字体
我正在使用IText7从html字符串生成pdf。 现在我需要将自定义颜色和自定义字体或字体系列应用于段落 如何使用Itext7实现这一点 谢谢自定义字体: 许多不同的iText 7教程对此进行了解释:如何在Itext7中使用自定义颜色和自定义字体,itext,itext7,Itext,Itext7,我正在使用IText7从html字符串生成pdf。 现在我需要将自定义颜色和自定义字体或字体系列应用于段落 如何使用Itext7实现这一点 谢谢自定义字体: 许多不同的iText 7教程对此进行了解释: 在“构建块”教程中 在HTML到PDF教程中 一个例子: 假设您有一个用于Cardo常规字体的字体程序: public static final String REGULAR = "src/main/resources/fonts/Cardo-Regular.ttf"; 您可以使用
- 在“构建块”教程中
- 在HTML到PDF教程中
public static final String REGULAR =
"src/main/resources/fonts/Cardo-Regular.ttf";
您可以使用此字体程序创建FontProgram
对象,如下所示:
FontProgram fontProgram =
FontProgramFactory.createFont(REGULAR);
使用此FontProgram
对象,可以创建PdfFont
:
PdfFont font = PdfFontFactory.createFont(
fontProgram, PdfEncodings.WINANSI, true);
现在,您可以使用此PdfFont
对象更改段落的字体:
p.setFont(font);
这只是使用自定义字体的一种方法;您将在教程中找到其他方法。您当然明白,将教程复制到堆栈溢出答案中是没有意义的
定制颜色
iText 7有一个名为Color
的类:
这个类有几个子类:CalGray
,CalRgb
,DeviceCmyk
,DeviceGray
,devicegb
,iccbase
,index
,Lab
,PatternColor
,分离
您可以通过选择其中一个子类来创建自定义颜色,具体取决于您使用的颜色空间。例如:假设您想要使用设备RGB颜色,那么您将使用DeviceRgb
类
一个例子:
假设您希望RGB颜色的值为红色=0.2、绿色=0.2、蓝色=0.2,那么您将使用以下构造函数:
这只是一个例子。ISO 32000-2将为您提供有关颜色空间之间差异的更多信息(选择正确颜色类别所需),API文档将解释不同构造器的工作原理。自定义字体:
许多不同的iText 7教程对此进行了解释:
- 在“构建块”教程中
- 在HTML到PDF教程中
public static final String REGULAR =
"src/main/resources/fonts/Cardo-Regular.ttf";
您可以使用此字体程序创建FontProgram
对象,如下所示:
FontProgram fontProgram =
FontProgramFactory.createFont(REGULAR);
使用此FontProgram
对象,可以创建PdfFont
:
PdfFont font = PdfFontFactory.createFont(
fontProgram, PdfEncodings.WINANSI, true);
现在,您可以使用此PdfFont
对象更改段落的字体:
p.setFont(font);
这只是使用自定义字体的一种方法;您将在教程中找到其他方法。您当然明白,将教程复制到堆栈溢出答案中是没有意义的
定制颜色
iText 7有一个名为Color
的类:
这个类有几个子类:CalGray
,CalRgb
,DeviceCmyk
,DeviceGray
,devicegb
,iccbase
,index
,Lab
,PatternColor
,分离
您可以通过选择其中一个子类来创建自定义颜色,具体取决于您使用的颜色空间。例如:假设您想要使用设备RGB颜色,那么您将使用DeviceRgb
类
一个例子:
假设您希望RGB颜色的值为红色=0.2、绿色=0.2、蓝色=0.2,那么您将使用以下构造函数:
这只是一个例子。ISO 32000-2将为您提供有关颜色空间之间差异的更多信息(需要选择正确的颜色类),API文档将解释不同构造函数的工作方式