2016-12-24 1349 views
0

我只能看到PDType1Font中的變體字體。 有什麼方法可以使用其他/自定義字體?Apache PDFBox:我可以設置PDType1Font中的字體以外的字體嗎?

PDFType1Font字體

public static final PDType1Font TIMES_ROMAN = new PDType1Font("Times-Roman"); 
    public static final PDType1Font TIMES_BOLD = new PDType1Font("Times-Bold"); 
    public static final PDType1Font TIMES_ITALIC = new PDType1Font("Times-Italic"); 
    public static final PDType1Font TIMES_BOLD_ITALIC = new PDType1Font("Times-BoldItalic"); 
    public static final PDType1Font HELVETICA = new PDType1Font("Helvetica"); 
    public static final PDType1Font HELVETICA_BOLD = new PDType1Font("Helvetica-Bold"); 
    public static final PDType1Font HELVETICA_OBLIQUE = new PDType1Font("Helvetica-Oblique"); 
    public static final PDType1Font HELVETICA_BOLD_OBLIQUE = new PDType1Font("Helvetica-BoldOblique"); 
    public static final PDType1Font COURIER = new PDType1Font("Courier"); 
    public static final PDType1Font COURIER_BOLD = new PDType1Font("Courier-Bold"); 
    public static final PDType1Font COURIER_OBLIQUE = new PDType1Font("Courier-Oblique"); 
    public static final PDType1Font COURIER_BOLD_OBLIQUE = new PDType1Font("Courier-BoldOblique"); 
    public static final PDType1Font SYMBOL = new PDType1Font("Symbol"); 
    public static final PDType1Font ZAPF_DINGBATS = new PDType1Font("ZapfDingbats"); 

回答

1

可以加載TrueType字體,像這樣的Apache PDFBox的2.0 *:

PDType0Font font = PDType0Font.load(document, new File("c:/windows/fonts/simhei.ttf")); 

又見API documentationEmbeddedFonts.java example

+0

謝謝蒂爾曼。它幫助 –

+0

如何使用加載的字體以粗體顯示文本? –

+0

最好的是加載一個粗體字體。這通常是可用的。次好的(看起來不太好)是調用'pageContentStream.setRenderingMode(RenderingMode.FILL_STROKE)'。 –

相關問題