国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#代碼實現PDF文檔操作類

2020-01-24 01:24:31
字體:
來源:轉載
供稿:網友

本文純干貨,貼上PDF文檔操作類C#代碼,需要添加iTextSharp.dll引用才可以正常通過編譯。

廢話不多說了,直接給大家貼代碼了。

代碼如下:

using System.IO;using iTextSharp.text;using iTextSharp.text.pdf;namespace DotNet.Utilities{ /// <summary> /// PDF文檔操作類 /// </summary> //------------------------------------調用-------------------------------------------- //PDFOperation pdf = new PDFOperation(); //pdf.Open(new FileStream(path, FileMode.Create)); //pdf.SetBaseFont(@"C:/Windows/Fonts/SIMHEI.TTF"); //pdf.AddParagraph("測試文檔(生成時間:" + DateTime.Now + ")", 15, 1, 20, 0, 0); //pdf.Close(); //------------------------------------------------------------------------------------- public class PDFOperation {  #region 構造函數  /// <summary>  /// 構造函數  /// </summary>  public PDFOperation()  {   rect = PageSize.A4;   document = new Document(rect);  }  /// <summary>  /// 構造函數  /// </summary>  /// <param name="type">頁面大小(如"A4")</param>  public PDFOperation(string type)  {   SetPageSize(type);   document = new Document(rect);  }  /// <summary>  /// 構造函數  /// </summary>  /// <param name="type">頁面大小(如"A4")</param>  /// <param name="marginLeft">內容距左邊框距離</param>  /// <param name="marginRight">內容距右邊框距離</param>  /// <param name="marginTop">內容距上邊框距離</param>  /// <param name="marginBottom">內容距下邊框距離</param>  public PDFOperation(string type, float marginLeft, float marginRight, float marginTop, float marginBottom)  {   SetPageSize(type);   document = new Document(rect, marginLeft, marginRight, marginTop, marginBottom);  }  #endregion  #region 私有字段  private Font font;  private Rectangle rect; //文檔大小  private Document document;//文檔對象  private BaseFont basefont;//字體  #endregion  #region 設置字體  /// <summary>  /// 設置字體  /// </summary>  public void SetBaseFont(string path)  {   basefont = BaseFont.CreateFont(path, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);  }  /// <summary>  /// 設置字體  /// </summary>  /// <param name="size">字體大小</param>  public void SetFont(float size)  {   font = new Font(basefont, size);  }  #endregion  #region 設置頁面大小  /// <summary>  /// 設置頁面大小  /// </summary>  /// <param name="type">頁面大小(如"A4")</param>  public void SetPageSize(string type)  {   switch (type.Trim())   {    case "A4":     rect = PageSize.A4;     break;    case "A8":     rect = PageSize.A8;     break;   }  }  #endregion  #region 實例化文檔  /// <summary>  /// 實例化文檔  /// </summary>  /// <param name="os">文檔相關信息(如路徑,打開方式等)</param>  public void GetInstance(Stream os)  {   PdfWriter.GetInstance(document, os);  }  #endregion  #region 打開文檔對象  /// <summary>  /// 打開文檔對象  /// </summary>  /// <param name="os">文檔相關信息(如路徑,打開方式等)</param>  public void Open(Stream os)  {   GetInstance(os);   document.Open();  }  #endregion  #region 關閉打開的文檔  /// <summary>  /// 關閉打開的文檔  /// </summary>  public void Close()  {   document.Close();  }  #endregion  #region 添加段落  /// <summary>  /// 添加段落  /// </summary>  /// <param name="content">內容</param>  /// <param name="fontsize">字體大小</param>  public void AddParagraph(string content, float fontsize)  {   SetFont(fontsize);   Paragraph pra = new Paragraph(content, font);   document.Add(pra);  }  /// <summary>  /// 添加段落  /// </summary>  /// <param name="content">內容</param>  /// <param name="fontsize">字體大小</param>  /// <param name="Alignment">對齊方式(1為居中,0為居左,2為居右)</param>  /// <param name="SpacingAfter">段后空行數(0為默認值)</param>  /// <param name="SpacingBefore">段前空行數(0為默認值)</param>  /// <param name="MultipliedLeading">行間距(0為默認值)</param>  public void AddParagraph(string content, float fontsize, int Alignment, float SpacingAfter, float SpacingBefore, float MultipliedLeading)  {   SetFont(fontsize);   Paragraph pra = new Paragraph(content, font);   pra.Alignment = Alignment;   if (SpacingAfter != 0)   {    pra.SpacingAfter = SpacingAfter;   }   if (SpacingBefore != 0)   {    pra.SpacingBefore = SpacingBefore;   }   if (MultipliedLeading != 0)   {    pra.MultipliedLeading = MultipliedLeading;   }   document.Add(pra);  }  #endregion  #region 添加圖片  /// <summary>  /// 添加圖片  /// </summary>  /// <param name="path">圖片路徑</param>  /// <param name="Alignment">對齊方式(1為居中,0為居左,2為居右)</param>  /// <param name="newWidth">圖片寬(0為默認值,如果寬度大于頁寬將按比率縮放)</param>  /// <param name="newHeight">圖片高</param>  public void AddImage(string path, int Alignment, float newWidth, float newHeight)  {   Image img = Image.GetInstance(path);   img.Alignment = Alignment;   if (newWidth != 0)   {    img.ScaleAbsolute(newWidth, newHeight);   }   else   {    if (img.Width > PageSize.A4.Width)    {     img.ScaleAbsolute(rect.Width, img.Width * img.Height / rect.Height);    }   }   document.Add(img);  }  #endregion  #region 添加鏈接、點  /// <summary>  /// 添加鏈接  /// </summary>  /// <param name="Content">鏈接文字</param>  /// <param name="FontSize">字體大小</param>  /// <param name="Reference">鏈接地址</param>  public void AddAnchorReference(string Content, float FontSize, string Reference)  {   SetFont(FontSize);   Anchor auc = new Anchor(Content, font);   auc.Reference = Reference;   document.Add(auc);  }  /// <summary>  /// 添加鏈接點  /// </summary>  /// <param name="Content">鏈接文字</param>  /// <param name="FontSize">字體大小</param>  /// <param name="Name">鏈接點名</param>  public void AddAnchorName(string Content, float FontSize, string Name)  {   SetFont(FontSize);   Anchor auc = new Anchor(Content, font);   auc.Name = Name;   document.Add(auc);  }  #endregion }}

武林網友情提醒需要注意點:需要添加iTextSharp.dll引用才可以正常通過編譯。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芜湖县| 闵行区| 盘山县| 吉首市| 达孜县| 芒康县| 定南县| 军事| 吴桥县| 普陀区| 监利县| 绥江县| 通许县| 三明市| 本溪市| 肃宁县| 钦州市| 新丰县| 兴山县| 都兰县| 隆子县| 进贤县| 荆门市| 恩施市| 普兰县| 塘沽区| 舒兰市| 西畴县| 叙永县| 鄄城县| 大渡口区| 类乌齐县| 西盟| 图木舒克市| 新丰县| 伊金霍洛旗| 灵璧县| 望江县| 获嘉县| 沁源县| 大邑县|