quand je veux utiliser une police, c'est iText, je fais ce qui suit:
protected final static Font FONT_SIZE_11_BOLD = new Font(Font.HELVETICA, 11f, Font.BOLD);
et puis je peux l'utiliser où je veux, comme suit:
monthSize11 = new Chunk(month, FONT_SIZE_11_BOLD);
Je souhaite utiliser Arial au lieu de HELVETICA, mais Arial n’est pas directement disponible .. Je veux dire, je ne peux pas faire
new Font(Font.ARIAL, 11f, Font.BOLD);
car Arial n’est pas défini dans la classe Font, mais le fichier Arial.ttf se trouve sur mon système sous C:\WINDOWS\Fonts . La question est de savoir comment je peux lier le fichier Arial.ttf à iText et comment l’utiliser. il.
Merci beaucoup d'avance.
EDIT: Je voudrais utiliser des polices propres. Je veux dire, j'ai un fichier appelé "myCompany.ttf" où les propres polices ont été définies et à certains endroits que je dois utiliser. Le problème ne concerne pas seulement Arial.
BaseFont base = BaseFont.createFont("c:/windows/fonts/arial.ttf", BaseFont.WINANSI);
Font font = new Font(base, 11f, Font.BOLD);
....
Lire plus ici .
Chargez-le depuis le JAR en utilisant une barre oblique; sinon, utilisez le chemin absolu de votre police (C:\...\fonts\Sansation_Regular.ttf
). Par exemple:
Font font = FontFactory.getFont("/fonts/Sansation_Regular.ttf",
BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f, Font.NORMAL, BaseColor.BLACK);
BaseFont baseFont = font.getBaseFont();
Utilisez BaseFont.createFont pour créer un nouvel objet Font.
Vous pouvez passer n'importe quelle police Type1 ou TTF. Vous devrez simplement vous assurer que votre fichier de polices est distribué avec. Refer API BaseFont
Créer des polices personnalisées avec itext est simple
J'avais écrit le code pour le même ci-dessous
Aidera certainement quelqu'un
public class CustomFontStyle {
public static void main(String[] args) {
// creation of the document with a certain size and certain margins
// may want to use PageSize.LETTER instead
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
try {
// creation of the different writers
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("CustomFontsStyle.pdf"));
final String NEWLINE = "\n";
document.open();
Phrase phrase = new Phrase();
BaseFont baseFont3 = BaseFont.createFont("Xenotron.ttf", BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
Font font2 = new Font(baseFont3, 12);
document.add(new Paragraph("Custom Xenotron Font: ", font2));
phrase.add(NEWLINE);
document.add(phrase);
document.close();
}
catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}