彩票走势图

如何添加ActiveReports 6导出PDF时的安然设置和数字

转帖|其它|编辑:郝浩|2011-10-25 14:10:47.000|阅读 799 次

概述:PDF格局已经成为广为应用的电子文档互换格局标准。为了便于用户在组织内和组织之间共享报表数 据,ActiveReports 6可以将生成的报表导出为PDF格局。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  PDF格局已经成为广为应用的电子文档互换格局标准。为了便于用户在组织内和组织之间共享报表数 据,ActiveReports 6可以将生成的报表导出为PDF格局。下面的代码是ActiveReports 6导出PDF的简单示例。

Private void btnExport_Click(Object sender, System.EventArgs e)
{
rptDataDynamics rpt = new rptDataDynamics();
DataDynamics.ActiveReports.Export.Pdf.PdfExport p = new DataDynamics.ActiveReports.Export.Pdf.PdfExport();
rpt.Run();
this.arv.Document = rpt.Document;
p.Export(rpt.Document, Application.StartupPath + "\p.pdf");
}

  有些景象下,你可能须要对报表的内容进行必然程度的安然保护,比如增长一个暗码,或者报表读者只能在线浏览而不是打印出来。ActiveReports 6在导出PDF时供给了雄厚安然权限设置。不仅如此,在ActiveReports 6 专业版中,你甚至可以经由过程数字来注解文档的起原和创建时候,已档是否被批改等。

  一.导出带安然保护的PDF

  类DataDynamics.ActiveReports.Export.Pdf.PdfExport的Security成员用来指定导出PDF的安然保护设置,首要包含:

  1. Encrypt: 设置或获取一个值,该值决意是否对导出的PDF加密

  2. OwnerPassword:  PDF拥有者暗码。在打开PDF时若是输入这个暗码,则操纵权限不受下面的Permissions设置限制。

  3. Permissions: 指定用户对PDF的操纵权限,包含是否可以拷贝、是否可以打印、是否可以批注、是否可以批改内容等。

  4. UserPassword: 获取或设置用户暗码。用户在打开PDF时须要输入这个暗码,并且操纵权限受Permissions的限制。

  例如,下面的示例代码设置了用户暗码,并且容许用户打印文档:

p.Security.Encrypt = true;
p.Security.Use128Bit = true;
p.Security.UserPassword = "monkey";
p.Security.Permissions = DataDynamics.ActiveReports.Export.Pdf.PdfPermissions.AllowPrint;
p.Export(rpt.Document, Application.StartupPath + "\p.pdf"); 

  二.导出带数字的PDF

  数字的感化与传统的手写类似,用来注解谁对文档进行了签订。别的,者还可以指定文档被签订后的批改权限。用户可以查看到文档被的时候,已经签订后是否被修悔改等信息。

  在专业版的ActiveReports里,对PDF格局的数据输出又有了加强功能。如今用户可以将不成见的数字或者可见的文字图案参加到报表里。经由过程16种属性对数字进行个性化设置, 用数字验证报表作者,还可经由过程Certification Level 来设定用户接见权限。用时候功能建树第三方授权版本。这些新功能完全和Adobe的新安然机制兼容。

  为了创建数字,你必须起首拥有一个有效的PKCS#12 文件(*.pfx)。凡是景象下,须要从专业数字厂商获得。若是是为了进修和懂得ActiveReports的数字功能,你可以应用如下步调本身创建一个文件:

  1.用如下号令行操纵创建一个
makecert  -r -pe -n "CN=Your Name" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -ss My

  2.在IE浏览器中选择“对象---选项”菜单,在弹出的对话框中选择“内容” 页,然后点击“”按钮,弹出对话框。

  3.在对话框中按“导出”按钮,导出包含私钥的文件,并记下你设置的暗码。

  下面的代码示例创建了一个包含文字和的数字。应用前须要把文件名调换为你创建的PFX文件,并更改暗码为你创建PFX文件时输入的暗码。

// ImageText signature.
p.Signature.VisibilityType = DataDynamics.ActiveReports.Export.Pdf.Signing.VisibilityType.ImageText;

// Bounds (Container of Text & Image).
p.Signature.Stamp.Bounds = new RectangleF(0, 0, 4, 1);

// Text area.
p.Signature.Stamp.TextAlignment = DataDynamics.ActiveReports.Export.Pdf.Signing.Alignment.Left;
p.Signature.Stamp.Font = new Font("Comic Sans MS", 8, FontStyle.Regular);
// Note: Specify (x, y) in relative coordinate Bounds top-left.
p.Signature.Stamp.TextRectangle = new RectangleF(1, 0, 3, 1);

// Image area.
p.Signature.Stamp.Image =

Image.FromFile("D:\Temp\PowerToolsLogo.jpg");
p.Signature.Stamp.ImageAlignment =

DataDynamics.ActiveReports.Export.Pdf.Signing.Alignment.Center;
// Note: Specify (x, y) in relative coordinate Bounds top-left.
p.Signature.Stamp.ImageRectangle = new RectangleF(0, 0, 1, 1);

// Set certificate & password.
p.Signature.Certificate =

new System.Security.Cryptography.X509Certificates.X509Certificate2

("D:\Temp\AllanCert.pfx", "123");

// set the certifiation level
p.Signature.CertificationLevel = DataDynamics.ActiveReports.

Export.Pdf.Signing.CertificationLevel.NoChangesAllowed;

//Signature items.
p.Signature.Contact =

new DataDynamics.ActiveReports.Export.

Pdf.Signing.SignatureField<string>

(“[email]tool-sales.cn@grapecity.com[/email]”, true);
p.Signature.SignDate =

new DataDynamics.ActiveReports.Export.Pdf.Signing.SignatureField

<System.DateTime>(System.DateTime.Now, true);

p.Export(rpt.Document, Application.StartupPath + \p.pdf);

    


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP