二开案例.套打导出.导出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)版本是
麻烦大神给看下
二开案例.套打导出.导出PDF禁止复制修改
【依赖版本】需要8.1.529.1(PT-146939 [8.1.0.20230309])及以上版本【应用场景】产品套打导出的PDF是允许复制与修改的,部分客户想导出的P...
点击下载文档
本文2024-09-16 18:30:35发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22603.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章