Scala 在pdfbox中更改字体权重并使行变细

Scala 在pdfbox中更改字体权重并使行变细,scala,pdf,fonts,pdfbox,Scala,Pdf,Fonts,Pdfbox,我有一个使用pdfbox编写的pdf,我想更改字体,使其具有较小的重量setFontWeight似乎是一个自然选择: val fontD: PDFontDescriptorDictionary = new PDFontDescriptorDictionary(); fontD.setFontWeight(100) fontD.setFontName("PDType1Font.HELVETICA") val customFont: PDSimpleFont = new P

我有一个使用pdfbox编写的pdf,我想更改字体,使其具有较小的重量setFontWeight似乎是一个自然选择:

val fontD: PDFontDescriptorDictionary  = new PDFontDescriptorDictionary();
    fontD.setFontWeight(100)
    fontD.setFontName("PDType1Font.HELVETICA")
    val customFont: PDSimpleFont = new PDTrueTypeFont()
    font1.setBaseFont("Helvetica")
    font1.setFontDescriptor(fontD)
但是,这不会改变字体的大小。我还有别的选择吗?使用pdfbox中的抽绳减少线宽如何

非常感谢任何指点


谢谢

这段代码中有一些奇怪的东西。Type1字体已经很长时间没有制作了,现在opentype赢了。Adobe在那里的贡献是type2 CFF。他们甚至将整个type1目录转换为type2 opentype,直到加载字体集合时,单个字体只编码单个权重,所以我希望设置权重不会起任何作用:您必须加载专用字体以满足所需的权重。啊,因此,如果我需要一个所需重量的Helvetica样式字体,我唯一的选择就是找到一个给定重量的字体,看起来最接近Helvetica?setFontWeight只是更改描述符,而不是字体。你所做的就像是改变胸罩标签上的罩杯大小,并期待里面的东西也会改变。是的,你只需要找到另一种字体。