zoukankan      html  css  js  c++  java
  • 一步一步 IText.Sharp 中文支持

    在初始使用IText.Sharp时,这个组件生成PDF文档,比较简单,默认情况下,它是不支持中文显示的,需要加入第三方的支持才能使用。

    一、扩展支持文件下载:

    http://sourceforge.net/projects/itextsharp/files/extras/

    image

    下载上图中框中的,就可以:

    二、使用方法如下:

       1: BaseFont.AddToResourceSearch("iTextAsian.dll");
       2:                         BaseFont.AddToResourceSearch("iTextAsianCmaps.dll");

    注意:文件路径要使用全路径

    三、注册中文字体

    字体注册是非常方便的,使用如下:

    可以使用字体文件,也可以使用字体目录进行批量注册。

    注册字体文件:

       1: FontFactory.Register(Environment.GetFolderPath(Environment.SpecialFolder.System) +
       2:                                              @"\..\Fonts\STSONG.ttf");
       3: FontFactory.Register(Environment.GetFolderPath(Environment.SpecialFolder.System) +
       4:                                              @"\..\Fonts\simhei.ttf");
       5: FontFactory.Register(Environment.GetFolderPath(Environment.SpecialFolder.System) +
       6:                                              @"\..\Fonts\simsun.ttc");

    注册字体目录方法签名如下:

       1: public static int RegisterDirectory(String dir) 
       2: public static int RegisterDirectory(String dir, bool scanSubdirectories) 

    演示实例:

       1: static void Main(string[] args)
       2:         {
       3:             BaseFont.AddToResourceSearch("iTextAsian.dll");
       4:             BaseFont.AddToResourceSearch("iTextAsianCmaps.dll");
       5:             FontFactory.Register(Environment.GetFolderPath(Environment.SpecialFolder.System) +
       6:                                  @"\..\Fonts\STSONG.ttf");
       7:             FontFactory.Register(Environment.GetFolderPath(Environment.SpecialFolder.System) +
       8:                                  @"\..\Fonts\simhei.ttf");
       9:             FontFactory.Register(Environment.GetFolderPath(Environment.SpecialFolder.System) +
      10:                                  @"\..\Fonts\simsun.ttc");
      11:  
      12:             MemoryStream ms = new MemoryStream();
      13:             Document document = new Document();
      14:             PdfWriter writer = PdfWriter.GetInstance(
      15:   document, new FileStream(string.Format("{0}helloworld.pdf",
      16:                 AppDomain.CurrentDomain.BaseDirectory), FileMode.OpenOrCreate));
      17:             document.Open();
      18:  
      19:             document.Add(new Paragraph("中显示实例",FontFactory.GetFont("华文宋体", BaseFont.IDENTITY_H, 16)));
      20:             writer.CloseStream = false;
      21:             document.Close();
      22:  
      23:         }

    执行效果:

    image

  • 相关阅读:
    【实用】网站常用单词的中英文对照表
    [译][转]jQuery 1.4 发布:15个新特性实例精讲
    popupWindow 简单实现
    程序员修炼之道 读书笔记
    Burp Suite详细使用教程Intruder模块详解
    漏洞挖掘练习环境(linux方向)
    linux系统操作常见问题(ubuntu和opensuse)
    驱动的加载顺序
    磁盘驱动相关知识
    VS 驱动工程创建软件(EeasySyS)
  • 原文地址:https://www.cnblogs.com/LifelongLearning/p/1999688.html
Copyright © 2011-2022 走看看