C#在PDF中创建和填充域的详细介绍(图文)


当前第2页 返回上一页

Adobe Acrobat支持开发者使用Javascript来预先定义文本域输入内容的格式、类型等。该组件也支持这类script并提供了对应的方法来实现这些功能。下表列出了部分Javascript和方法:

描述

示例

Javascript

方法

Date

01/31/2008

AFDate_FormatEx("mm/dd/yyyy");
AFDate_KeystrokeEx("mm/dd/yyyy");

GetDateFormatString("mm/dd/yyyy");
GetDateKeystrokeString("mm/dd/yyyy");

Date

1/31/2008

AFDate_FormatEx("m/d/yyyy");
AFDate_KeystrokeEx("m/d/yyyy");

GetDateFormatString("m/d/yyyy");
GetDateKeystrokeString("m/d/yyyy");

Zip code

12345

AFSpecial_Format(0);
AFSpecial_Keystroke(0);

GetSpecialFormatString(0);
GetSpecialKeystrokeString(0);

Zip+4

12345-1234

AFSpecial_Format(1);
AFSpecial_Keystroke(1);

GetSpecialFormatString(1);
GetSpecialKeystrokeString(1);

Phone number

(123) 456-7890

AFSpecial_Format(2);
AFSpecial_Keystroke(2);

GetSpecialFormatString(2);
GetSpecialKeystrokeString(2);

Money

$12,345.00
-$12,345.00

AFNumber_Format(2, 0, 0, 0, "$", true);
AFNumber_Keystroke(2, 0, 0, 0, "$", true);

GetNumberFormatString(2, 0, 0, 0, "$", true);
GetNumberKeystrokeString(2, 0, 0, 0, "$", true);

Validate

1≤input value≤10

AFRange_Validate(true,1,true,10)

GetRangeValidateString(true, 1, true, 10);

示例:


1

2

3

4

//指定输入数据在1-100之间

string js = PdfJavascript.GetRangeValidateString(true, 1, true, 100);

PdfJavascriptAction jsAction = new PdfJavascriptAction(js);

textbox.Actions.Validate = jsAction;

1.2 签名域

创建签名域与文本域类似,也可以设置域的边框、大小、位置等属性。这里就不再赘述了。


1

2

3

4

5

6

7

8

9

10

11

12

//创建签名域并指定域名

PdfSignatureField signaturefield = new PdfSignatureField(page, "Signature");

//设置域的边框

signaturefield.BorderWidth = 1.0f;

signaturefield.BorderStyle = PdfBorderStyle.Solid;

signaturefield.BorderColor = new PdfRGBColor(System.Drawing.Color.Black);

//设置高亮模式

signaturefield.HighlightMode = PdfHighlightMode.Outline;

//设置大小与位置

signaturefield.Bounds = new RectangleF(40, 150, 200, 100);

//将签名域添加到页面

pdf.Form.Fields.Add(signaturefield);

2. 填充域

填充域时需要先获取文档中所有的域,然后再逐一填充指定域。如果同一类型的域比较多,则可使用域的名称快速填充。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

//加载PDF文档

PdfDocument pdf = new PdfDocument();

pdf.LoadFromFile("Fields.pdf");

//获取第一页

PdfPageBase page = pdf.Pages[0];

//获取文档的所有域

PdfFormWidget form = pdf.Form as PdfFormWidget;

//填充第一个文本域

PdfTextBoxFieldWidget textboxField = form.FieldsWidget[0] as PdfTextBoxFieldWidget;

textboxField.Text = "25";

//填充第二个签名域

PdfSignatureFieldWidget signatureField = form.FieldsWidget[1] as PdfSignatureFieldWidget;

String pfxPath = @"gary.pfx";

PdfCertificate digi = new PdfCertificate(pfxPath, "123456");  

PdfSignature signature = new PdfSignature(pdf, page, digi, "demo", signatureField);

signature.IsTag = true;

signature.DigitalSigner = "Gary";

signature.ConfigGraphicType = ConfiguerGraphicType.TextSignInformation;

//保存文档

pdf.SaveToFile("Fill.pdf");

以上就是C#在PDF中创建和填充域的详细介绍(图文)的详细内容!

返回前面的内容

相关阅读 >>

c#中的console.read()方法详解

C#实现带百分比的进度条功能的示例代码分享

C# socket实现简单控制台案例

C#开发实例-订制屏幕截图工具(十)在截图中包含鼠标指针形状

bitmap生成base64码(C#

C#使用autoresetevent实现同步的详解及实例

详解C#使用litjson解析json的示例代码

C#中的console是什么意思

C#基础入门之算法-交换的代码示例

C#+js实现的两个正则替换功能示例分析

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...