• itextsharp 1.0


    1 效果图

    2.代码

    引用组件:

    using iTextSharp.text;
    using iTextSharp.text.pdf;
    using System;
    using System.Data;
    using System.IO;
    using System.Text;
    using System.Xml;

    示例:

    /// <summary>
    /// 利用itextsharp 创建一个简单pdf文件
    /// </summary>
    private static void GetCreateDocumentPDF()
    {
    //开始创建PDF文档
    Document document = new Document();
    string fileName = DateTime.Now.ToString("yyyyMMddHHmmss")+".pdf";
    PdfWriter.GetInstance(document, new FileStream("D:/" + fileName, FileMode.Create));
    document.Open();
    //字体
    BaseFont baseFont = BaseFont.CreateFont(@"c:windowsfontsSIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    //标题居中
    Paragraph paragraph = new Paragraph("嘉峪关长城", new Font(baseFont, 18));
    paragraph.Alignment = Element.ALIGN_CENTER;
    document.Add(paragraph);

    //段落
    string strtext = "嘉峪关长城[1],在嘉峪关市区西南6公里处,位于嘉峪关最狭窄的山谷中部,城关两侧的城墙横穿沙漠戈壁,北连黑山悬壁长城,南接天下第一墩,是明代万里长城最西端的关口,以巍峨壮观著称于世,被誉为“天下雄关” 自古为河西第一隘口。关城始建于明洪武五(1372年)年因地势险要,建筑雄伟而有天下第一雄关连陲锁钥之称。[1]它由内城、外城、城壕三道防线组成重叠并守之势,形成五里一燧,十里一墩,三十里一堡,一百里一城的军事防御体系。关城以内城为主,周长640万平方米,面积2.5万平方米,城高10.7米,以黄土夯筑而成,西侧以砖包墙,雄伟坚固。内城有东西两门,东为光化门意为紫气东升,光华普照;西为柔远门意为以怀柔而致远,安定西陲。在两门外各有一瓮城围护,嘉峪关内城墙上还建有箭楼、敌楼、角楼、阁楼、闸门楼共十四座。嘉峪关关城是长城众多关城中保存最为完整的一座。";
    Font lightblue = new Font(baseFont,12f, 1,new iTextSharp.text .BaseColor(43, 145, 175));
    Font lightred = new Font(baseFont,12f, 1,new iTextSharp.text .BaseColor(163, 21, 21));


    //创建一个图片对象
    Stream sr = new FileStream("D:/100001.jpg", FileMode.Open, FileAccess.Read, FileShare.Read);
    //iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(new Uri(@"d:Lock-icon.png"));
    iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(sr);
    //设置图片的指定大小
    //img.ScaleToFit(140F, 320F);
    //按比例缩放
    //img.ScalePercent(50);
    //把图片增加到内容页的指定位子 b width c height e bottom f left
    // img.SetAbsolutePosition(100f, 150f);

    Paragraph paragraph_text = new Paragraph(strtext, lightblue);
    paragraph_text.Alignment = Element.ALIGN_JUSTIFIED;

    img.ScaleToFit(200f,132f);
    img.Alignment = Image.TEXTWRAP | Image.ALIGN_RIGHT;
    img.IndentationLeft = 9f;
    img.SpacingAfter = 9f;
    img.BorderWidthTop = 10f;
    img.BorderColorTop = iTextSharp.text.BaseColor.WHITE;

    document.Add(img);
    document.Add(paragraph_text);

    document.Add(new Chunk(" 嘉峪关长城 ", lightred));

    //添加table
    PdfPTable table = new PdfPTable(3);

    table.SetWidths(new int[]{35,30,35}); //table 列的width比例
    table.WidthPercentage = 100;//table width 比例

    //表头
    for (int i = 0; i < 3; i++)
    {
    PdfPCell cell = new PdfPCell(new Phrase(2f, "标题" + i, lightblue));
    cell.HorizontalAlignment = Element.ALIGN_CENTER;
    table.AddCell(cell);
    }
    //数据
    for (int i = 0; i < 5; i++)
    {
    for (int j = 0; j< 3; j++)
    {
    PdfPCell cell = new PdfPCell(new Phrase(2f, "内容" + j, lightred));
    cell.HorizontalAlignment = Element.ALIGN_CENTER;
    table.AddCell(cell);
    }
    }
    document.Add(table);
    Font link = new Font(baseFont, 12f, 1, new iTextSharp.text.BaseColor(0, 0, 255));
    Anchor anchor = new Anchor(" LIN.SU ", link);
    anchor.Reference = "http://www.cnblogs.com/linsu";
    Paragraph ph2 = new Paragraph();
    ph2.Alignment = Element.ALIGN_RIGHT;
    ph2.Add(anchor);
    Chunk c3 = new Chunk("2014年1月21日13:49:01", lightblue);
    ph2.Add(c3);
    document.Add(ph2);
    document.AddAuthor("LIN.SU");
    document.AddCreationDate();
    document.Close();
    }

  • 相关阅读:
    2020第29周日
    pytest文档44-allure.dynamic动态生成用例标题
    python笔记46-史上最强大最好用的python日志模块nb_log
    pytest文档43-元数据使用(pytest-metadata)
    pytest文档42-fixture参数化params
    ASP.NET Core WebApi+EF Core入门到实战演练
    SqlParameter中的new SqlParameter("e",0)的陷阱坑,你知道?
    EF Linq中的左连接Left Join查询
    .NET Core EFCore零基础快速入门简单使用
    git报错,远程克隆和更新不下来解决方法
  • 原文地址:https://www.cnblogs.com/linsu/p/3528372.html
Copyright © 2020-2023  润新知