二开案例.套打导出.导出PDF禁止复制修改

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

二开案例.套打导出.导出PDF禁止复制修改

【依赖版本】 需要8.1.529.1(PT-146939 [8.1.0.20230309])及以上版本 【应用场景】 产品套打导出的PDF是允许复制与修改的,部分客户想导出的PDF不要被别人篡改。 【案例演示】 采购合同套打导出PDF不允许复制修改。 【案例演示】 <1>编写列表插件,代码如下。 ``` csharp using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Util; /******* 引入PDFSharp组件 Start *******/ using PdfSharp.Pdf; using PdfSharp.Pdf.IO; using PdfSharp.Pdf.Security; /******* 引入PDFSharp组件 End *******/ using System.ComponentModel; using System.IO; namespace Kingdee.BOS.PlugInTest { /// <summary> /// 【列表插件】套打导出PDF禁止复制修改 /// </summary> [Description("【列表插件】套打导出PDF禁止复制修改"), HotUpdate] public class ExportPDFPlugIn : AbstractListPlugIn { /// <summary> /// 重写套打导出结束事件 /// </summary> /// <param name="e"></param> public override void OnAfterPrintExport(AfterPrintExportEventArgs e) { // 检查数据是否存在 if (e != null && e.ExportInfo != null && e.ExportInfo.ExportFileInfos != null && e.ExportInfo.ExportFileInfos.Count > 0) { // 循环导出文件 foreach (var exportFileInfo in e.ExportInfo.ExportFileInfos) { // 检查文档是否存在 if (File.Exists(exportFileInfo.FilePath)) { // 使用PDFSharp打开文档 using (PdfDocument doc = PdfReader.Open(exportFileInfo.FilePath, PdfDocumentOpenMode.Modify)) { // 设置安全加密等级 doc.SecuritySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted128Bit; // 设置所有者密码,此密码不影响PDF打开,只在修改时要求输入 doc.SecuritySettings.OwnerPassword = "KiNgDeE#963"; // 是否允许无障碍提取内容 doc.SecuritySettings.PermitAccessibilityExtractContent = false; // 是否允许注释 doc.SecuritySettings.PermitAnnotations = false; // 是否允许组装文档 doc.SecuritySettings.PermitAssembleDocument = false; // 是否允许提取内容 doc.SecuritySettings.PermitExtractContent = false; // 是否允许表单填充 doc.SecuritySettings.PermitFormsFill = true; // 是否允许修改文档 doc.SecuritySettings.PermitModifyDocument = false; // 是否允许打印 doc.SecuritySettings.PermitPrint = true; // 是否允许满质量打印 doc.SecuritySettings.PermitFullQualityPrint = true; // 保存文档 doc.Save(exportFileInfo.FilePath); } } } } } } } ``` <2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。 <3>注册插件。 ![注册插件](/download/0100dbe8156d9cef4168a629350c12359121.webp) <4>现在可以登业务站点,打开采购合同界面,导出PDF,验证一下结果。

public override void OnAfterPrintExport(AfterPrintExportEventArgs e)

现在就差这里报错没找到引用(AfterPrintExportEventArgs e)版本是

image.webp麻烦大神给看下



二开案例.套打导出.导出PDF禁止复制修改

【依赖版本】需要8.1.529.1(PT-146939 [8.1.0.20230309])及以上版本【应用场景】产品套打导出的PDF是允许复制与修改的,部分客户想导出的P...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息