【问题标题】:Apache PDFBox: Can I set font other than those present in PDType1FontApache PDFBox:我可以设置 PDType1Font 中存在的字体以外的字体吗
【发布时间】:2016-12-24 13:08:52
【问题描述】:

我在 PDType1Font 中只能看到 4 种带有变体的字体。 有什么方法可以使用其他/自定义字体吗?

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

【问题讨论】:

    标签: java pdfbox


    【解决方案1】:

    您可以在 Apache PDFBox 2.0.* 中加载这样的 truetype 字体:

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

    另见API documentation 和EmbeddedFonts.java example。

    【讨论】:

    • 如何使用加载的字体获取粗体文本?
    • 最好加载粗体字。这通常是可用的。第二好的(看起来不太好)是打电话给pageContentStream.setRenderingMode(RenderingMode.FILL_STROKE)。
    • 谢谢。它有帮助
    猜你喜欢
    • 2021-09-11
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 2014-10-18
    • 2018-12-27
    相关资源
    最近更新 更多