一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#在PDF中繪制不同風格類型的文本方法實例

C#在PDF中繪制不同風格類型的文本方法實例

2022-02-25 14:06E-iceblue C#

這篇文章主要給大家介紹了關于C#在PDF中繪制不同風格類型的文本的相關資料,文中通過圖文以及示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

通過對控件spire.pdf的測試,我們可以創(chuàng)建pdf文件并向文檔中繪制文本、圖片、表格、圖形等內容,其中,對于繪制文本這一部分,spire.pdf提供了三種字體類型來繪制文本呢,即:

  • standard fonts
  • truetype fonts
  • chinese, japanese and korean (cjk) fonts

從以上類中我們可以發(fā)現(xiàn),是可以支持中、日、韓、英等字體類的,這為我們在操作pdf文件上提供了更多可能。在這篇文章中,“利用private font改變pdf文件的字體”中講述了如何應用字體,在接下來的文章中,將介紹如何運用spire.pdf提供的字體類來繪制不同風格類型的文本。

使用工具:spire.pdf for .net 4.0

ps: 安裝該類庫后,注意在程序中引用spire.pdf.dll后在進行代碼編輯,dll文件可在安裝路徑下的bin文件夾中獲取。

【示例1】繪制傾斜樣式的文本

 步驟1:創(chuàng)建實例

?
1
2
pdfdocument doc = new pdfdocument();
pdfpagebase page = doc.pages.add();

步驟2:保存畫布狀態(tài)

?
1
pdfgraphicsstate state = page.canvas.save();

步驟3:實例化字體,創(chuàng)建格式刷

?
1
2
3
4
pdffont font = new pdffont(pdffontfamily.helvetica, 18f);
pdfsolidbrush brush1 = new pdfsolidbrush(color.deepskyblue);
pdfsolidbrush brush2 = new pdfsolidbrush(color.cadetblue);
pdfsolidbrush brush3 = new pdfsolidbrush(color.lightpink);

步驟4:指定文本在畫布上的坐標,并指定文本的橫向、縱向的拉伸度

?
1
2
page.canvas.translatetransform(10, 100);
page.canvas.scaletransform(1f, 0.6f);

步驟5:繪制文本

?
1
2
3
4
5
6
7
8
9
//繪制傾斜樣式的文本
 page.canvas.skewtransform(-10, 0);
 page.canvas.drawstring("there is no royal road to learning. ", font, brush1, 0, 0);
 page.canvas.skewtransform(10, 10);
 page.canvas.drawstring("books, like friends, should be few and well chosen. ", font, brush2, 10, 50);
 
 //繪制縮放類型的文本
 page.canvas.scaletransform(1f, -1f);
 page.canvas.drawstring("books, like friends, should be few and well chosen.", font, brush3, 10, -2 * 50);

步驟6:再次保存畫布

?
1
page.canvas.restore(state);

步驟7:保存文件

?
1
2
doc.savetofile("drawtext.pdf");
system.diagnostics.process.start("drawtext.pdf");

測試效果:

C#在PDF中繪制不同風格類型的文本方法實例

全部代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using spire.pdf;
using spire.pdf.graphics;
using system.drawing;
 
namespace drawtextofdifferentstyles_pdf
{
 class program
 {
 static void main(string[] args)
 {
 pdfdocument doc = new pdfdocument(); //創(chuàng)建一個pdf文檔
 pdfpagebase page = doc.pages.add(); //添加頁
 
 pdfgraphicsstate state = page.canvas.save();
 
 //實例化字體,創(chuàng)建格式刷
 pdffont font = new pdffont(pdffontfamily.helvetica, 18f);
 pdfsolidbrush brush1 = new pdfsolidbrush(color.deepskyblue);
 pdfsolidbrush brush2 = new pdfsolidbrush(color.cadetblue);
 pdfsolidbrush brush3 = new pdfsolidbrush(color.lightpink);
 
 page.canvas.translatetransform(10, 100);//指定文本在畫布上的坐標位置
 page.canvas.scaletransform(1f, 0.6f);//指定文本的橫向、縱向的拉伸度
 
 //繪制傾斜樣式的文本
 page.canvas.skewtransform(-10, 0);
 page.canvas.drawstring("there is no royal road to learning. ", font, brush1, 0, 0);
 page.canvas.skewtransform(10, 10);
 page.canvas.drawstring("books, like friends, should be few and well chosen. ", font, brush2, 10, 50);
 
 //繪制縮放類型的文本
 page.canvas.scaletransform(1f, -1f);
 page.canvas.drawstring("books, like friends, should be few and well chosen.", font, brush3, 10, -2 * 50);
 
 //再次保存畫布
 page.canvas.restore(state);
 
 //保存并打開文檔
 doc.savetofile("drawtext.pdf");
 system.diagnostics.process.start("drawtext.pdf");
 }
 }
}

【示例2】繪制中心旋轉圖形

 步驟1:創(chuàng)建實例

?
1
2
pdfdocument doc = new pdfdocument();
pdfpagebase page = doc.pages.add();

步驟2:保存畫布

?
1
pdfgraphicsstate state = page.canvas.save();

步驟3:實例化字體類,創(chuàng)建格式刷

?
1
2
pdffont font = new pdffont(pdffontfamily.helvetica, 10f);
pdfsolidbrush brush = new pdfsolidbrush(color.blueviolet);

步驟4:設定字符串布局格式,并指定文本在畫布中的位置

?
1
2
3
pdfstringformat centeralignment = new pdfstringformat(pdftextalignment.left, pdfverticalalignment.middle);
float x = 400;
float y = 600;

步驟5:繪制文本并應用格式

?
1
page.canvas.translatetransform(x, y);

步驟6:繪制文本,應用格式

?
1
2
3
4
5
6
7
8
//指定文本繪制數量
for (int i = 0; i < 12; i++)
{
 //設置文本按順時針方向旋轉排列(文本偏移間隔30度)
 page.canvas.rotatetransform(30);
 //繪制文本并應用格式 
 page.canvas.drawstring("every tide has its ebb.", font, brush, 10, 0, centeralignment);
}

步驟7:再次保存畫布

?
1
page.canvas.restore(state);

步驟8:保存文檔

?
1
2
doc.savetofile("drawtext.pdf");
system.diagnostics.process.start("drawtext.pdf");

測試結果:

(這里做了幾個不同樣式的demo,可以對比看下效果)

C#在PDF中繪制不同風格類型的文本方法實例

全部代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using spire.pdf;
using spire.pdf.graphics;
using system.drawing;
 
namespace _3
{
 class program
 {
 static void main(string[] args)
 {
  pdfdocument doc = new pdfdocument(); //創(chuàng)建一個pdf文檔
  pdfpagebase page = doc.pages.add(); //添加頁
 
  pdfgraphicsstate state = page.canvas.save();
 
  //實例化字體,創(chuàng)建格式刷 
  pdffont font = new pdffont(pdffontfamily.helvetica, 10f);
  pdfsolidbrush brush = new pdfsolidbrush(color.blueviolet);
 
  //設定字符串布局格式,并指定文本在畫布中的位置
  pdfstringformat centeralignment = new pdfstringformat(pdftextalignment.left, pdfverticalalignment.middle);
  float x = 400;
  float y = 600;
  //繪制文本并應用格式
  page.canvas.translatetransform(x, y);
  //指定文本繪制數量
  for (int i = 0; i < 12; i++)
  {
  //設置文本按順時針方向旋轉排列(文本偏移間隔30度)
  page.canvas.rotatetransform(30);
  //繪制文本并應用格式 
  page.canvas.drawstring("every tide has its ebb.", font, brush, 10, 0, centeralignment);
  }
  //再次保存畫布
  page.canvas.restore(state);
 
  //保存并打開文檔
  doc.savetofile("drawtext.pdf");
  system.diagnostics.process.start("drawtext.pdf");
 }
 }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.cnblogs.com/Yesi/archive/2018/06/29/9244150.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91视频综合网| 99久热只有精品视频免费观看17 | japaneseles女同专区| 九九99热 | 护士让我吃奶我扒她奶 | 国内精品久久久久久久久久久久 | 国产成人在线影院 | 免费福利资源站在线视频 | 九九久久国产精品大片 | 精品久久免费观看 | 欧美一级专区免费大片俄罗斯 | 91免费精品国自产拍在线不卡 | 好大水好多好爽好硬好深视频 | 国产特黄一级一片免费 | 不良研究所地址一 | 特大黑人娇小亚洲女mp4 | 国产精品第一 | 毛片群| 国产手机在线αⅴ片无码观看 | 国产精品久久久久无毒 | 欧美一区二区三区四区五区六区 | 亚洲欧美日韩另类精品一区二区三区 | 国产在线98福利播放视频免费 | 欧美在线国产 | 日韩在线观看一区二区不卡视频 | 欧美同志网址 | 午夜视频在线网站 | 男人天堂资源 | 四虎4hu永久免费 | 肥胖女性大bbbbbb视频女厕 | 国产91素人搭讪系列天堂 | 日韩国产成人 | 日本视频中文字幕 | 国产毛片一级aaaaa片 | 欧美一区二区三区在线观看不卡 | 91国语自产拍在线观看 | 日韩精品一区二区三区老鸭窝 | 色在线免费 | 男女xxoo做爰猛烈动态一 | 99爱视频 | 99久女女精品视频在线观看 |