当前位置:   article > 正文

itextpdf 中文字体设置_itext 中文

itext 中文

itextpdf 中文字体设置

                               

                      

*******************

itext7 字体(默认不输出中文)

                  

内置中文字体:itext7-core包含了中文字体包,可用来创建字体

                            

  1. # 常用字体程序及对应编码
  2. STSong-Light ==> UniGB-UCS2-H
  3. HeiseiKakuGo-W5 ==> UniJIS-UCS2-H
  4. HeiseiMin-W3 ==> UniJIS-UCS2-H

                  

windows中文字体库:c:/windows/fonts

  1. # 部分
  2. PS C:\windows\fonts> ls
  3. 目录: C:\windows\fonts
  4. Mode LastWriteTime Length Name
  5. ---- ------------- ------ ----
  6. -a---- 2019/12/7 17:08 261872 segmdl2.ttf
  7. -a---- 2019/12/7 17:08 168404 segoepr.ttf
  8. -a---- 2019/12/7 17:08 167800 segoeprb.ttf
  9. -a---- 2019/12/7 17:08 596948 segoesc.ttf
  10. -a---- 2019/12/7 17:08 581252 segoescb.ttf
  11. -a---- 2019/12/7 17:08 955804 segoeui.ttf
  12. -a---- 2019/12/7 17:08 951724 segoeuib.ttf
  13. -a---- 2019/12/7 17:08 529712 segoeuii.ttf
  14. -a---- 2019/12/7 17:08 913712 segoeuil.ttf
  15. -a---- 2019/12/7 17:08 854140 segoeuisl.ttf
  16. -a---- 2019/12/7 17:08 541468 segoeuiz.ttf
  17. -a---- 2019/12/7 17:08 324260 seguibl.ttf
  18. -a---- 2019/12/7 17:08 356008 seguibli.ttf
  19. -a---- 2019/12/7 17:08 2072388 seguiemj.ttf
  20. -a---- 2019/12/7 17:08 1400724 seguihis.ttf
  21. -a---- 2019/12/7 17:08 459940 seguili.ttf
  22. -a---- 2019/12/7 17:08 971080 seguisb.ttf
  23. -a---- 2019/12/7 17:08 457892 seguisbi.ttf
  24. -a---- 2019/12/7 17:08 467180 seguisli.ttf
  25. -a---- 2019/12/7 17:08 2454728 seguisym.ttf
  26. -a---- 2019/12/7 17:08 120560 webdings.ttf
  27. -a---- 2019/12/7 17:08 82180 wingding.ttf
  28. -a---- 2019/12/7 17:08 120560 webdings.ttf
  29. -a---- 2019/12/7 17:08 82180 wingding.ttf
  30. -a---- 2019/12/7 17:09 14522408 YuGothB.ttc
  31. -a---- 2019/12/7 17:09 13805400 YuGothL.ttc
  32. -a---- 2019/12/7 17:08 13742180 YuGothM.ttc
  33. -a---- 2019/12/7 17:09 13674828 YuGothR.ttc
  34. -a---- 2021/1/7 21:12 2774928 方正粗黑宋简体.ttf

                            

                         

 PdfFontFactory:创建字体

  1. public final class PdfFontFactory {
  2. private static final String DEFAULT_ENCODING = "";
  3. private static final PdfFontFactory.EmbeddingStrategy DEFAULT_EMBEDDING;
  4. private static final boolean DEFAULT_CACHED = true;
  5. public PdfFontFactory() {
  6. }
  7. public static PdfFont createFont() throws IOException {
  8. return createFont("Helvetica", "");
  9. }
  10. public static PdfFont createFont(PdfDictionary fontDictionary) {
  11. public static PdfFont createFont(FontProgram fontProgram) {
  12. public static PdfFont createFont(FontProgram fontProgram, String encoding) {
  13. public static PdfFont createFont(FontProgram fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) {
  14. public static PdfFont createFont(String fontProgram) throws IOException {
  15. public static PdfFont createFont(String fontProgram, String encoding) throws IOException {
  16. public static PdfFont createFont(String fontProgram, String encoding, PdfDocument cacheTo) throws IOException {
  17. public static PdfFont createFont(String fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) throws IOException {
  18. public static PdfFont createFont(String fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, PdfDocument cacheTo) throws IOException {
  19. public static PdfFont createFont(String fontProgram, PdfFontFactory.EmbeddingStrategy embeddingStrategy) throws IOException {
  20. public static PdfFont createFont(String fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, boolean cached) throws IOException {
  21. public static PdfFont createFont(byte[] fontProgram, String encoding) throws IOException {
  22. public static PdfFont createFont(byte[] fontProgram, PdfFontFactory.EmbeddingStrategy embeddingStrategy) throws IOException {
  23. public static PdfFont createFont(byte[] fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) throws IOException {
  24. public static PdfFont createFont(byte[] fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, boolean cached) throws IOException {
  25. public static PdfFont createTtcFont(byte[] ttc, int ttcIndex, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, boolean cached) throws IOException {
  26. public static PdfFont createTtcFont(String ttc, int ttcIndex, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, boolean cached) throws IOException {
  27. public static PdfType3Font createType3Font(PdfDocument document, boolean colorized) {
  28. public static PdfType3Font createType3Font(PdfDocument document, String fontName, String fontFamily, boolean colorized) {
  29. public static PdfFont createRegisteredFont(String fontName, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, int style, boolean cached) throws IOException {
  30. public static PdfFont createRegisteredFont(String fontName, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, boolean cached) throws IOException {
  31. public static PdfFont createRegisteredFont(String fontName, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) throws IOException {
  32. public static PdfFont createRegisteredFont(String fontName, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy, int style) throws IOException {
  33. public static PdfFont createRegisteredFont(String fontName, String encoding) throws IOException {
  34. public static PdfFont createRegisteredFont(String fontName) throws IOException {
  35. public static void registerFamily(String familyName, String fullName, String path) {
  36. public static void register(String path) {
  37. public static void register(String path, String alias) {
  38. public static int registerDirectory(String dirPath) {
  39. public static int registerSystemDirectories() {
  40. public static Set<String> getRegisteredFonts() {
  41. public static Set<String> getRegisteredFamilies() {
  42. public static boolean isRegistered(String fontName) {
  43. private static PdfType1Font createFontFromType1FontProgram(Type1Font fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) {
  44. private static PdfType0Font createType0FontFromTrueTypeFontProgram(TrueTypeFont fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) {
  45. private static PdfTrueTypeFont createTrueTypeFontFromTrueTypeFontProgram(TrueTypeFont fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) {
  46. private static PdfType0Font createType0FontFromCidFontProgram(CidFont fontProgram, String encoding, PdfFontFactory.EmbeddingStrategy embeddingStrategy) {
  47. static {
  48. DEFAULT_EMBEDDING = PdfFontFactory.EmbeddingStrategy.PREFER_EMBEDDED;
  49. }
  50. ************
  51. 内部枚举:EmbeddingStrategy
  52. public static enum EmbeddingStrategy {
  53. FORCE_EMBEDDED,
  54. FORCE_NOT_EMBEDDED,
  55. PREFER_EMBEDDED,
  56. PREFER_NOT_EMBEDDED;
  57. private EmbeddingStrategy() {
  58. }
  59. }
  60. }

                        

                            

*******************

示例

                   

  1. public class Test3 {
  2. private static final String dest = "./test/1.pdf";
  3. private static final String dest2 = "./test/2.pdf";
  4. private static final String dest3 = "./test/3.pdf";
  5. public static void fun() throws Exception{
  6. PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest));
  7. Document document = new Document(pdfDocument);
  8. Paragraph paragraph = new Paragraph("hello 瓜田李下");
  9. document.add(paragraph);
  10. document.close();
  11. }
  12. public static void fun2() throws Exception{ //font-asian中文包
  13. PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest2));
  14. Document document = new Document(pdfDocument);
  15. PdfFont font = PdfFontFactory.createFont("STSong-Light","UniGB-UCS2-H");
  16. document.setFont(font);
  17. Paragraph paragraph = new Paragraph("hello 瓜田李下");
  18. document.add(paragraph);
  19. document.close();
  20. }
  21. public static void fun3() throws Exception{ //系统中文包
  22. PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest3));
  23. Document document = new Document(pdfDocument);
  24. PdfFont font = PdfFontFactory.createFont("./fonts/simkai.ttf");
  25. document.setFont(font);
  26. Paragraph paragraph = new Paragraph("hello 瓜田李下");
  27. document.add(paragraph);
  28. document.close();
  29. }
  30. public static void main(String[] args) throws Exception{
  31. File file = new File(dest);
  32. file.getParentFile().mkdirs();
  33. fun();
  34. fun2();
  35. fun3();
  36. }
  37. }

                     

fun:不输出中文

                            

                 

fun2:输出中文

                            

                  

fun3:输出中文

                            

                

                      

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号