最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用C#程序給PDF文件添加編輯域

 更新時間:2017年01月06日 08:38:19   作者:馮威  
本文主要給大家分享的是通過C#操作PDF類庫iTextSharp來實現(xiàn)在在PDF文檔中填寫日期或簽名之類的能編輯的文本域,非常的簡單實用,有需要的小伙伴可以參考下。

PDF文檔通常是不能編輯的,但有些時候需要在PDF文檔中填寫日期或簽名之類,就需要在PDF有能編輯的文本域,本文介紹怎樣用C#來實現(xiàn)這一功能。

環(huán)境

工具:VS2015

語言:C#

操作PDF類庫:iTextSharp 5.5.10

生成的PDF預覽的工具:Skim、福昕閱讀器、Acrobat Reader

代碼實現(xiàn)

獲取文檔的頁數(shù)

PdfReader reader = new PdfReader(@"C:\WorkSpace\1.pdf");
int count = reader.NumberOfPages;

創(chuàng)建文本域

TextField fieldDate = new TextField(stamp.Writer, new iTextSharp.text.Rectangle(105, 100, 240, 125), "date");
fieldDate.BackgroundColor= BaseColor.WHITE;fieldDate.BorderWidth= 1;
fieldDate.BorderColor= BaseColor.BLACK;fieldDate.BorderStyle= 4;
fieldDate.FontSize = 11f;

iTextSharp.text.Rectangle(105, 100, 240, 125) 用來設置文本域的位置,四個參數(shù)分別為:llx、lly、urx、ury:

llx 為Left ,lly 為Bottom,urx 為Right,ury 為Top
其中:Width=Right - Left Heigth = Top - Bototom
創(chuàng)建文本

Chunk cname = new Chunk("Date:", FontFactory.GetFont("Futura", 16f,new BaseColor(170,64,0)));
Phrase pname = new Phrase(cname);
PdfContentByte over = stamp.GetOverContent(count);
ColumnText.ShowTextAligned(over, Element.ALIGN_CENTER, pname, 400, 420, 0);

完整代碼

public static void AddTextField()
{
   PdfReader reader = new PdfReader(@"C:\WorkSpace\1.pdf");
      
   FileStream out1 = new FileStream(@"C:\WorkSpace\2.pdf", FileMode.Create, FileAccess.Write);

   PdfStamper stamp = new PdfStamper(reader, out1);
      //獲得pdf總頁數(shù)
   int count = reader.NumberOfPages;

   TextField fieldDate = new TextField(stamp.Writer, new iTextSharp.text.Rectangle(105, 100, 240, 125), "date");
   fieldDate.BackgroundColor = BaseColor.WHITE;
   fieldDate.BorderWidth = 1;
   fieldDate.BorderColor = BaseColor.BLACK;
   fieldDate.BorderStyle = 4;
   fieldDate.FontSize = 11f;

   TextField fieldSign = new TextField(stamp.Writer, new iTextSharp.text.Rectangle(430, 100, 530, 125), "sign");
   fieldSign.BackgroundColor = BaseColor.WHITE;
   fieldSign.BorderWidth = 1;
   fieldSign.BorderColor = BaseColor.BLACK;
   fieldSign.BorderStyle = 4;
   fieldSign.FontSize = 11f;

   Chunk cname = new Chunk("Date:", FontFactory.GetFont("Futura", 16f,new BaseColor(170,64,0)));
   Chunk ctitle = new Chunk("User Sign:", FontFactory.GetFont("Futura", 16f, new BaseColor(0, 128, 128)));
   Phrase pname = new Phrase(cname);
   Phrase ptitle = new Phrase(ctitle);

   //PdfContentBye類,用來設置圖像和文本的絕對位置
   PdfContentByte over = stamp.GetOverContent(count);
   ColumnText.ShowTextAligned(over, Element.ALIGN_CENTER, pname, 400, 420, 0);
   ColumnText.ShowTextAligned(over, Element.ALIGN_CENTER, ptitle, 400, 350, 0);

   stamp.AddAnnotation(fieldDate.GetTextField(), count);
   stamp.AddAnnotation(fieldSign.GetTextField(), count);

   stamp.FormFlattening = true; 

   stamp.Close();
}

相關文章

  • 基于WPF實現(xiàn)簡單的文件夾比較工具

    基于WPF實現(xiàn)簡單的文件夾比較工具

    文件比較平常都是用Beyond?Compare,可以說離不開的神器,不過Beyond?Compare平常拿它主要是用來做代碼比較,用來做一些大批量的二進制文件比較,其實有點不是很方便,所以本文來用WPF做一個簡單的文件夾比較的小工具
    2023-05-05
  • c#中實現(xiàn)圖片灰度化技術詳解

    c#中實現(xiàn)圖片灰度化技術詳解

    這篇文章主要介紹了c#中實現(xiàn)圖片灰度化技術詳解,本文給出計算公式和實現(xiàn)代碼以及圖片例子,需要的朋友可以參考下
    2014-08-08
  • C#程序集的主版本號和次版本號的實現(xiàn)

    C#程序集的主版本號和次版本號的實現(xiàn)

    C# 程序集的版本號和次版本號是程序集的一部分,用于標識程序集的不同版,本本文主要介紹了C#程序集的主版本號和次版本號的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 使用C#驗證PDF數(shù)字簽名有效性的方法示例

    使用C#驗證PDF數(shù)字簽名有效性的方法示例

    數(shù)字簽名作為PDF文檔中的重要安全機制,不僅能夠驗證文件的來源,還能確保文件內容在傳輸過程中未被篡改,本文將詳細介紹如何使用免費.NET控件通過C#驗證PDF簽名的有效性以及驗證PDF文檔是否被修改,需要的朋友可以參考下
    2024-07-07
  • C#獲取系統(tǒng)版本信息方法

    C#獲取系統(tǒng)版本信息方法

    今天做一個獲取系統(tǒng)版本信息的實例,其獲取方法很簡單,需要的朋友可以參考下
    2012-11-11
  • C#實現(xiàn)更改MDI窗體背景顏色的方法

    C#實現(xiàn)更改MDI窗體背景顏色的方法

    這篇文章主要介紹了C#實現(xiàn)更改MDI窗體背景顏色的方法,涉及C#窗體背景色的設置技巧,非常簡單實用,需要的朋友可以參考下
    2015-08-08
  • C#將數(shù)字轉換成字節(jié)數(shù)組的方法

    C#將數(shù)字轉換成字節(jié)數(shù)組的方法

    這篇文章主要介紹了C#將數(shù)字轉換成字節(jié)數(shù)組的方法,涉及C#字符串操作的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • c# 通過代碼開啟或關閉防火墻

    c# 通過代碼開啟或關閉防火墻

    這篇文章主要介紹了c# 通過代碼開啟或關閉防火墻的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-10-10
  • C#?wpf利用附加屬性實現(xiàn)任意控件拖動

    C#?wpf利用附加屬性實現(xiàn)任意控件拖動

    這篇文章主要為大家詳細介紹了C#?WPF如何利用附加屬性對幾種拖動方式進行封裝,實現(xiàn)復用性,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-11-11
  • asp.net之生成驗證碼的方法集錦(一)

    asp.net之生成驗證碼的方法集錦(一)

    現(xiàn)在很多網站都有注冊登錄的頁面,為了更好的滿足用戶體驗和網站的安全性,很多網站都采用動態(tài)生成的圖形碼或者是附加碼進行驗證,這篇文章主要就是介紹生成驗證碼的方法,需要的朋友可以參考下
    2015-08-08

最新評論

民权县| 新蔡县| 东丰县| 新乡县| 永嘉县| 布尔津县| 巴彦淖尔市| 延寿县| 阿鲁科尔沁旗| 龙山县| 青神县| 湖南省| 沁水县| 峨眉山市| 绥江县| 耒阳市| 慈利县| 利辛县| 定西市| 井陉县| 竹山县| 安顺市| 禄劝| 同江市| 栖霞市| 安阳市| 阳西县| 常山县| 百色市| 荆州市| 林西县| 长寿区| 长岛县| 十堰市| 鲁甸县| 电白县| 宕昌县| 阿克陶县| 当阳市| 综艺| 行唐县|