我有一个Web应用程序,它将根据数据生成PDF并允许用户下载。我们有一个自定义字体,因此我要注册四个字体文件(常规,粗体,斜体和斜体ttf文件)。
这有必要吗?我可以只使用常规字体文件并通过字体类设置粗细/样式,还是需要所有文件?看起来还可以,但我仍在学习。
管理将这些不同字体放入文档中的最佳策略或模式是什么?从Java的角度来看,有人对此做了很多事情吗?
您没有告诉我们如何注册字体,也没有告诉您如何使用它们,所以让我告诉您我将如何工作(我是iText的原始开发人员)。如果您使用这4种字体,最好的方法是像这样注册它们:
BaseFont bfRegular = BaseFont.createFont(regularTTF, BaseFont.IDENTITY_H, BaseFont_EMBEDDED);
BaseFont bfBold = BaseFont.createFont(boldTTF, BaseFont.IDENTITY_H, BaseFont_EMBEDDED);
BaseFont bfItalic = BaseFont.createFont(italicTTF, BaseFont.IDENTITY_H, BaseFont_EMBEDDED);
BaseFont bfBoldItalic = BaseFont.createFont(boldItalicTTF, BaseFont.IDENTITY_H, BaseFont_EMBEDDED);
BaseFont
每当使用低级操作添加内容时,我都会使用这些实例。
然后我会做:
Font fRegular = new Font(bfRegular, 12);
Font fBold = new Font(bfBold, 12);
Font fItalic = new Font(bfItalic, 12);
Font fBoldItalic = new Font(bfBoldItalic, 12);
每当需要创建高级对象(例如)时,我都会使用这些字体Paragraph
。
当然,我可能还需要这样的东西:
Font fRegularSmall = new Font(bfRegular, 9);
Font fBoldSmall = new Font(bfBold, 9);
Font fItalicSmall = new Font(bfItalic, 9);
Font fBoldItalicSmall = new Font(bfBoldItalic, 9);
Font fRegularBig = new Font(bfRegular, 20);
Font fBoldBig = new Font(bfBold, 20);
Font fItalicBig = new Font(bfItalic, 20);
Font fBoldItalicBig = new Font(bfBoldItalic, 20);
通常,我创建一个助手类,在其中BaseFont
只创建对象一次(需要重用它们),并为Font
对象创建吸气剂。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句