FastReport如何保护您的PDF教程?

Stella981
• 阅读 643

报表生成器FastReport .NET是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。

近日,FastReport .Net升级到v2020.4版,在此版本中,添加了新的条形码:ITF-14和Deutsce Post Identcode,同时优化了多种性能(点击下方按钮下载),感兴趣的朋友可点击下方按钮下载最新版。

点击下载最新版FastReport .Net

Fastreport在线下单立享85折起****!赶紧加入购物清单吧!

在数据保护日,我们决定准备一篇有关PDF文档保护的文章。PDF已成为当今世界的标准之一,了解如何保护它是一个好方法。

FastReport如何保护您的PDF教程?

您需要从什么保护PDF文档?

  1. 来自未经授权的编辑。
  2. 来自未经授权的访问。

保护PDF文件免于编辑

首先,我想说,变更是可以授权的,甚至是可取的。通常会发送PDF文件进行签名(并且Adobe Acrobat Reader等标准工具允许您对此类文件进行签名),或者它是具有内置可编辑字段和交互式表格的问卷文件。

有很多关于在FastReport中使用PDF文件的文章,其中一些是关于使用交互式表单创建PDF文件的文章:

  1. 以PDF / X格式保存报告
  2. 从FastReport.NET导出时配置Acrobat PDF Viewer的选项
  3. PDF导出中的交互式表格Fast Report .Net 2018
  4. 如何从Delphi / C ++ Builder / Lazarus制作PDF
  5. 如何从文本文件制作PDF文档

但是还有另一种PDF文档–那些无法编辑的文档,如果某个坏人试图编辑某些内容,我们会知道的。

首先,这些是带有电子签名的证明该特定文件有效的文件。

FastReport.Net版本2019.3.2中提供了两种类型的签名。

1)签名栏。要将其添加到文档中,您需要添加数字签名对象。当将此控件放置在报告页面上时,它如下所示:

FastReport如何保护您的PDF教程?

它不会在报告查看模式下显示。其功能仅限于PDF导出,这意味着您在Acrobat Reader中查看PDF文件时将看到此字段。

导出为PDF时,启用“签署文档”选项:

FastReport如何保护您的PDF教程?

2)看不见的签名。对于不可见的PDF导出签名,无需在报告页面上添加“数字签名”控件。您唯一需要做的就是在导出设置中启用“签名文档”选项:

FastReport如何保护您的PDF教程?

您可以填写位置,原因和联系信息字段。接下来,您需要选择.pfx格式的签名证书文件,并设置证书的密码。导出报告后,您将在PDF文档中看到一个隐藏的签名,但不会被填写。重要的是要知道,该签名在文档中不是直接可见的。

您可以在我们的文章中阅读有关数字签名的更多信息。

此外,还有所谓的“存档”格式PDF / A。此类文档包含其中的所有信息(不会“拉”图像,字体和来自外部来源的任何其他可能被破坏或删除的数据)。此外,文档属性指出它是不可编辑的格式。您可以打开它进行编辑吗?一切皆有可能,但是在这种情况下,它将失去其存档类型特征,也就是说,我们将清楚地看到文档已更改。

文章“如何以PDF / A格式导出报告”详细介绍了此格式的功能。

保护PDF文件免遭未经授权的访问

本文无意提供破解受保护的PDF文件的方法的概述(这是一个单独的主题。例如,此处Elcomsoft的专业人员介绍了他们的方法)。

作为一种格式,PDF包含内置的密码保护机制。

密码可让您一次保护文档免受一项或多项操作的侵害:

  • 从开放
  • 从印刷
  • 从编辑
  • 复制文本,图像和其他信息
  • 来自屏幕阅读器的访问权限

现代PDF使用AES(高级加密标准)加密来使用128位密钥进行密码保护,这使查找密码的任务变得复杂(但并非不可能!)。使用128位加密时,密钥数为2 128。
FR .Net:

FastReport如何保护您的PDF教程?

帧频VCL:

FastReport如何保护您的PDF教程?

在“安全性”选项卡中,您可以配置以下字段:

  1. 所有者密码
  2. 用户密码
  3. 您还可以禁止打印文档,更改文档,复制文本或图形,添加或更改文本注释。

您还可以使用证书(带有用于数字唱歌和打开文档的公共和私人密钥)来保护文档。公钥包含在证书中,用于加密信息,而私钥用于解密和数字签名文档。现在谈论100%保护还为时过早。尽管如此,今天它可能是最安全的电子文档格式。

希望本文能帮助您为用户提供PDF安全工具,并使他们更加了解安全。无论如何,没有100%的保护;文件保护只是集成安全系统的一小部分,其中不仅应包括技术措施,还应包括组织措施。

慧都年终钜惠,在线下单立享85折起!点击查看优惠价格,或咨询在线客服了解详情。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
2年前
P2P技术揭秘.P2P网络技术原理与典型系统开发
Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
2个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这