zoukankan      html  css  js  c++  java
  • 实战 iTextSharp

    iTextSharp 是用来生成  PDF 的一个组件,在 1998 年夏天的时候,Bruno Lowagie ,iText 的创作者,参与了学校的一个项目,当时使用 HTML 来生成报告,但是,使用 HTML 打印的效果很不理想。最后,他发现,使用 PDF 可以完美解决打印问题,为了能够在各个系统中使用,iText 组件库诞生了。

    最初的 iText 主要是支持 Java 語言。之後針對Microsoft .NET C Sharp做了一個版本,也就是我們今天要介紹的 iTextSharp。

    目前,iTextSharp 的版本是 5.1.2,下载地址:http://sourceforge.net/projects/itextsharp/files/

    其中主要包含了核心组件:itextsharp.dll

    但是,直接使用它并不能处理中文,你还要下载两个组件。

    在下载页面中,注意图中标注的 extras 文件夹。

    点击之后,可以看到如下的下载:

    注意把标注的两个压缩包下载下来,这是使用中文的关键。解开两个压缩之后可以看到下面的两个文件。

    iTextAsianCmaps.dll

    iTextAsian.dll

    在创建的项目中,将这三个程序集都添加到项目的引用中。

    // 必须先加入资源
    BaseFont.AddToResourceSearch("iTextAsian.dll");
    BaseFont.AddToResourceSearch("iTextAsianCmaps.dll");
    
    //"UniGB-UCS2-H" "UniGB-UCS2-V"是简体中文,分别表示横向字 和 纵向字
    //"STSong-Light"是字体名称
    BaseFont bf = BaseFont.CreateFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED);
    
    // 也可以使用 TTF 字体
    BaseFont bf0 = BaseFont.CreateFont("C:/WINDOWS/Fonts/SIMYOU.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    
    // 创建 PDF 文档
    iTextSharp.text.Document document
        = new iTextSharp.text.Document();
    
    // 创建写入器实例,PDF 文件将会保存到这里
    iTextSharp.text.pdf.PdfWriter.GetInstance(document, 
            new System.IO.FileStream("Demo.pdf", System.IO.FileMode.Create)
        );
    
    // 打开文档
    document.Open();
    
    iTextSharp.text.Font font = new iTextSharp.text.Font(bf);
    
    //写入一个段落, Paragraph
    document.Add(new Paragraph("你好, PDF !", font));
    
    document.Close();
    

    现在,你应该已经得到一个 PDF 文档了。

  • 相关阅读:
    javascript学习_函数调用模式与this取值
    Git 学习笔记(Git教程-廖雪峰)
    Linux学习一周初体验
    前言_写在立冬时
    2021.10.24驾考日记
    大二上学期的HTML杂碎
    AISing Programming Contest 2021(AtCoder Beginner Contest 202)D题题解
    并查集两优化——按秩合并与路径压缩
    [算法板子] 求拓扑序列(拓扑排序)
    浅谈迭代加深搜索 ( IDDFS )
  • 原文地址:https://www.cnblogs.com/haogj/p/2167659.html
Copyright © 2011-2022 走看看