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

使用C#給PDF文檔添加注釋的實(shí)現(xiàn)代碼

 更新時(shí)間:2017年01月24日 22:46:58   投稿:mdxy-dxy  
本文將實(shí)例講述C#中如何使用免費(fèi)組件給PDF文檔添加文本注釋,包括自由文本注釋。自由文本注釋能允許我們自定義它的風(fēng)格和外觀,非常具有實(shí)用價(jià)值

整理文檔時(shí),我們可能會(huì)需要在一些或一段文字上添加注釋加以說(shuō)明,那如何以編程的方式實(shí)現(xiàn)呢?本文將實(shí)例講述C#中如何使用免費(fèi)組件給PDF文檔添加文本注釋,包括自由文本注釋。自由文本注釋能允許我們自定義它的風(fēng)格和外觀,非常具有實(shí)用價(jià)值。

首先,下載這個(gè)免費(fèi)版組件Free Spire.PDF。組件下載安裝后,Visual Studio創(chuàng)建C#控制臺(tái)項(xiàng)目,添加bin文件夾的.DLL作為引用以及以下命名空間:

using System;
using System.Drawing;
using System.Windows.Forms;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Annotations;

現(xiàn)在我們就來(lái)具體看看如何給新建的文檔添加注釋的。

步驟1:新建一個(gè)PDF文檔對(duì)象,再添加一個(gè)新頁(yè)面。

PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();

步驟2:文檔中添加文本,并設(shè)置文本的位置、字體大小、顏色。

PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 13);
string text = "HelloWorld";
PointF point = new PointF(200, 100);
page.Canvas.DrawString(text, font, PdfBrushes.Red, point);

步驟3:給文本添加注釋,并設(shè)置注釋的邊框、顏色及位置。

PdfTextMarkupAnnotation annotation1 = new PdfTextMarkupAnnotation("管理員", "一般來(lái)說(shuō),這是每一種計(jì)算機(jī)編程語(yǔ)言中最基本、最簡(jiǎn)單的程序", text, new PointF(0, 0), font);
annotation1.Border = new PdfAnnotationBorder(0.75f);
annotation1.TextMarkupColor = Color.Green;
annotation1.Location = new PointF(point.X + doc.PageSettings.Margins.Left, point.Y + doc.PageSettings.Margins.Left);

步驟4:將注釋添加到頁(yè)面,最后保存文檔。

(page as PdfNewPage).Annotations.Add(annotation1);
doc.SaveToFile("result.pdf");

這是添加注釋后的效果圖:

全部代碼:

PdfDocument doc = new PdfDocument();
      PdfPageBase page = doc.Pages.Add();
      PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 13);
      string text = "HelloWorld";
      PointF point = new PointF(200, 100);
      page.Canvas.DrawString(text, font, PdfBrushes.Red, point);
 
      PdfTextMarkupAnnotation annotation1 = new PdfTextMarkupAnnotation("管理員", "一般來(lái)說(shuō),這是每一種計(jì)算機(jī)編程語(yǔ)言中最基本、最簡(jiǎn)單的程序", text, new PointF(0, 0), font);
      annotation1.Border = new PdfAnnotationBorder(0.75f);
      annotation1.TextMarkupColor = Color.Green;
      annotation1.Location = new PointF(point.X + doc.PageSettings.Margins.Left, point.Y + doc.PageSettings.Margins.Left);
      (page as PdfNewPage).Annotations.Add(annotation1);
      doc.SaveToFile("result.pdf");
      System.Diagnostics.Process.Start("result.pdf");

添加自由文本注釋

同樣,給文檔添加自由文本注釋也相對(duì)簡(jiǎn)單。

步驟1:新建一個(gè)PDF文檔對(duì)象,并添加一個(gè)新頁(yè)面。

PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();

步驟2:初始化一個(gè)PdfFreeTextAnnotation,然后自定義注釋的文本。

RectangleF rect = new RectangleF(0, 40, 150, 50);
PdfFreeTextAnnotation textAnnotation = new PdfFreeTextAnnotation(rect);
textAnnotation.Text = "Free text annotation ";

步驟3:設(shè)置注釋的屬性,包括字體、填充顏色、邊框顏色和透明度。

PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 10);
PdfAnnotationBorder border = new PdfAnnotationBorder(1f);
textAnnotation.Font = font;
textAnnotation.Border = border;
textAnnotation.BorderColor = Color. Purple;
textAnnotation.LineEndingStyle = PdfLineEndingStyle.Circle;
textAnnotation.Color = Color. Pink;
textAnnotation.Opacity = 0.8f;

步驟4:添加注釋到頁(yè)面。

page.AnnotationsWidget.Add(textAnnotation); 

步驟5:保存并重新打開(kāi)文檔。

doc.SaveToFile("FreeTextAnnotation.pdf", FileFormat.PDF);
System.Diagnostics.Process.Start("FreeTextAnnotation.pdf");

這是添加自由文本注釋的效果圖:

全部代碼:

PdfDocument doc = new PdfDocument();
      PdfPageBase page = doc.Pages.Add();
      
      RectangleF rect = new RectangleF(0, 40, 150, 50);
      PdfFreeTextAnnotation textAnnotation = new PdfFreeTextAnnotation(rect);
      textAnnotation.Text = "Free text annotation ";
    
      PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 10);
      PdfAnnotationBorder border = new PdfAnnotationBorder(1f);
      textAnnotation.Font = font;
      textAnnotation.Border = border;
      textAnnotation.BorderColor = Color. Purple;
      textAnnotation.LineEndingStyle = PdfLineEndingStyle.Circle;
      textAnnotation.Color = Color.Pink;
      textAnnotation.Opacity = 0.8f;
      
      page.AnnotationsWidget.Add(textAnnotation);
      doc.SaveToFile("FreeTextAnnotation.pdf", FileFormat.PDF);
      System.Diagnostics.Process.Start("FreeTextAnnotation.pdf");

之前我也分享過(guò)如何在C#里面給PPT添加注釋,也許對(duì)你有幫助。謝謝瀏覽!

相關(guān)文章

  • 基于C#的音樂(lè)播放器主Form實(shí)現(xiàn)代碼

    基于C#的音樂(lè)播放器主Form實(shí)現(xiàn)代碼

    這篇文章主要介紹了基于C#的音樂(lè)播放器主Form實(shí)現(xiàn)代碼,很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • C# 調(diào)用命令行執(zhí)行Cmd命令的操作

    C# 調(diào)用命令行執(zhí)行Cmd命令的操作

    這篇文章主要介紹了C# 調(diào)用命令行執(zhí)行Cmd命令的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • 解決Unity urp級(jí)聯(lián)陰影接縫問(wèn)題

    解決Unity urp級(jí)聯(lián)陰影接縫問(wèn)題

    通過(guò)從unity內(nèi)部函數(shù)中抽幾個(gè)出來(lái)改造,強(qiáng)制取某個(gè)裁切球的級(jí)聯(lián)陰影映射,通過(guò)案例給大家詳細(xì)介紹,文中給出了完整的urp shader代碼,對(duì)Unity級(jí)聯(lián)陰影知識(shí)感興趣的朋友一起看看吧
    2021-06-06
  • 親自教你實(shí)現(xiàn)棧及C#中Stack源碼分析

    親自教你實(shí)現(xiàn)棧及C#中Stack源碼分析

    大家都知道棧的實(shí)現(xiàn)方式有兩種,一種是基于數(shù)組實(shí)現(xiàn)的順序棧,另一種是基于鏈表實(shí)現(xiàn)的鏈?zhǔn)綏!_@篇文章主要介紹了手把手教你實(shí)現(xiàn)棧以及C#中Stack源碼分析,需要的朋友可以參考下
    2021-09-09
  • c# 用ICSharpCode組件壓縮文件

    c# 用ICSharpCode組件壓縮文件

    今天,主要總結(jié)下,windows平臺(tái)下,zip的壓縮與解壓的方法,用ICSharpCode組件,有此需求的朋友可以參考下本文
    2021-06-06
  • C#使用委托的步驟淺析

    C#使用委托的步驟淺析

    這篇文章主要介紹了C#使用委托的步驟,以實(shí)例形式深入淺出的講解了C#關(guān)于委托的定義、聲明、實(shí)例化及相關(guān)的用法,具有很好的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • C#實(shí)現(xiàn)單例模式的幾種方法總結(jié)

    C#實(shí)現(xiàn)單例模式的幾種方法總結(jié)

    這篇文章主要介紹了C#實(shí)現(xiàn)單例模式的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C# 方法的遞歸調(diào)用實(shí)現(xiàn)

    C# 方法的遞歸調(diào)用實(shí)現(xiàn)

    在C#中,遞歸調(diào)用是指一個(gè)方法調(diào)用自身的過(guò)程,本文主要介紹了C# 方法的遞歸調(diào)用實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • LZW壓縮算法 C#源碼

    LZW壓縮算法 C#源碼

    本文分享了一個(gè)LZW壓縮算法的C#源碼,有需要的朋友可以參考一下。
    2016-06-06
  • C#遞歸實(shí)現(xiàn)顯示文件夾及所有文件并計(jì)算其大小的方法

    C#遞歸實(shí)現(xiàn)顯示文件夾及所有文件并計(jì)算其大小的方法

    這篇文章主要介紹了C#遞歸實(shí)現(xiàn)顯示文件夾及所有文件并計(jì)算其大小的方法,是遍歷算法中比較典型的一種應(yīng)用,有不錯(cuò)的學(xué)習(xí)借鑒價(jià)值,需要的朋友可以參考下
    2014-08-08

最新評(píng)論

博兴县| 宝应县| 永清县| 清原| 红河县| 安陆市| 建宁县| 环江| 钟祥市| 龙里县| 鄂托克前旗| 巩义市| 镇康县| 德清县| 成都市| 井研县| 米脂县| 库伦旗| 张家港市| 麻江县| 凤山市| 五台县| 昌黎县| 宕昌县| 同德县| 信宜市| 邛崃市| 滕州市| 淮北市| 当涂县| 博客| 洛扎县| 汶川县| 彭州市| 彰武县| 彭水| 台前县| 牡丹江市| 响水县| 定兴县| 酒泉市|