Schriftart TIMES NEW ROMAN in iText (Java-version)
Ich brauche etwas zu tun, wie dies in iText:
Font fuente=new Font(Font.getFamily("ARIAL"),30,Font.BOLD);
Aber anstatt der Verwendung der schriftart ARIAL, die ich brauche, um die Verwendung der schriftart TIMES NEW ROMAN über einen Absatz.
Wie könnte ich dies erreichen?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie ein problem.
Schriftart.getFamily(string) funktioniert nur für das "Base 14" - Schriftarten Helvetica, Times Roman, Courier (plus Ihre Fett & Kursiv-Varianten), plus-Symbol und ZapfDingbats. Bittet, es für nichts, aber eine dieser Schriften zurück FontFamily.UNDEFINED.
Dein code funktioniert nicht so, wie Sie denken, es tut. Wenn Sie geschehen, um am Ende mit Arial, das ist nur, weil es die Standard-schriftart.
Was Sie wollen, ist
FontFactory.getFont(...)
. Vor FontFactory zurückkehren können, eine bestimmte schriftart mit dem Namen, den Sie registrieren müssen, dass die schriftart-Datei. Der einfachste Weg das zu tun ist, rufen SieFontFactory.registerDirectories()
die alle aufzuzählen, die Verzeichnisse bekannten Betriebssystemen zum speichern von Schriftarten und registrieren alle Schriften dort gefunden. Dies wird länger dauern, je nachdem wie viele fonts hast du da, und wie groß die Schriftarten sind. Viel CJKV-Schriftarten nehmen eine erhebliche Menge an Zeit, um zu registrieren... unter 30 Sekunden in alle Wahrscheinlichkeit, aber mein Tier ein system kann 10-20 Sekunden so zu machen (aber ich habe eine MENGE von Großen Schriftarten).Die Registrierung können Sie auch einzelne Dateien mit
FontFactory.register(fontPath)
, aber das erfordert, dass Sie wissen, wo Sie in den ersten Platz.Jedenfalls, könnte der code etwas ähnliches Lesen, wie:
Und FontFactory hat in der Tat groß - /Kleinschreibung ignorieren, wenn man sich Schriftarten.
Font.getFamily()
nicht.