C#实现给PDF文档设置过期时间

本文档介绍了如何在Windows 10环境下,使用Visual Studio 2022和FreeSpire.PDF库为PDF添加过期时间。通过C#代码实现JavaScript操作,当日期超过设定值时显示警告并关闭文档。然而,该库存在限制,不支持超过10页的PDF文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前情提要

环境搭配

踩坑

采用环境

代码实现

相关操作

代码结果

后期探查


前情提要

接触的事情奇奇怪怪,我学得东西也是奇奇怪怪。

我需要搭建环境测试代码是否能成功操作大型的pdf文件。

环境搭配

踩坑

visual studio code就别想了,这玩意没法下载相关的pdf的依赖库

IntelliJ IDEA也别想,这个不支持C#

visual studio真是大爷,安装几台的虚拟机,都说不支持当前的windows 10系统。

要说为什么了话,因为这些坑,我自己一个个去趟过去。。。

采用环境

win10的2016企业版

visual studio2022

在visual studio2022中,工具->管理NuGet包->搜索“Free Spire.PDF”->点击安装

安装版本为7.8.9

 

代码实现

代码思路

PDF文档添加过期时间

  1. 创建PdfDocument类的对象,并通过PdfDocument.LoadFromFile(string filename)方法加载PDF文档。
  2. 通过JavaScript语句设置过期时间,过期警告信息并关闭文档等动作。
  3. 初始化PdfJavaScriptAction类的实例,并通过PdfDocument.AfterOpenAction属性设置PDF打开后执行JS语句命令。
  4. 最后,通过PdfDocument.SaveToFile(string filename, FileFormat fileFormat)方法保存PDF文档到指定路径。
using Spire.Pdf;
using Spire.Pdf.Actions;
using System.Drawing;

namespace SetExpiryDate
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建PdfDocument类的对象,并加载PDF文档
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("test.pdf");

            //通过JavaScript设置过期时间,过期警告信息并关闭文档
            string javaScript = "var rightNow = new Date();"
                    + "var endDate = new Date('June 20, 2021 23:59:59');"
                    + "if(rightNow.getTime() > endDate) {"
                    + "app.alert('该文档已过期。请联系管理人员获取最新文档!',1);"
                    + "this.closeDoc(); }";

            //根据JS创建PdfJavaScriptAction 
            PdfJavaScriptAction js = new PdfJavaScriptAction(javaScript);

            //将PdfJavaScriptAction设置为文档打开后的动作
            pdf.AfterOpenAction = js;

            //保存文档
            pdf.SaveToFile("SetExpiryDate.pdf", FileFormat.PDF);
        }
    }
}

相关操作

新建项目,代码导入

 制作个word,然后转pdf

将test.pdf导入到项目对应位置

 然后点击运行

代码结果

 然后回到之前放test.pdf文件的文件夹中,有个叫SetExpiryDate的文件,就是我们操作之后的文件。

双击打开

后期探查

在后期反复实验的时候,我发现pdf文档不能过大,我就直接用200与300多MB的PDF去测试,均以失败告终。

然后去调试,发现是FreeSpire.PDF的问题,它限制了PDF页数不能超过10页。

不过一般论文是可以成功运行的,我有去测试过。

 

Free Spire.PDF for .NET 是 Spire.PDF for .NET 的免费版本,无需购买即可用于个人或商业用途。使用该组件,程序员可以 在.NET 程序中创建、读取、写入、编辑和操作 PDF 文档。这个控件能支持的功能十分全面,例如文档安全性设置(电子签名),提取 PDF 文本、附件、图片,PDF 合并和拆分,更新 Metadata,设置 Section,绘制图形、插入图片、表格制作和加工、导入数据等等。除此以外,Spire.PDF 还可以将 TXT 文本、图片、HTML 高质量地转换为 PDF 文件格式。 主要功能如下: 1.高质量的文档转换。Free Spire.PDF for .NET 支持 PDF 到 Word、XPS、SVG、EMF、Text 和图片(EMF、JPG、PNG、BMP、TIFF)的格式转换。也支持从 XML、HTML、RTF、XPS、Text、图片等格式生成 PDF 文档。 2.文档操作及域功能。支持合并、拆分 PDF 文档,在原有的 PDF 文档页添加覆盖页。同时,Spire.PDF 提供导入、邮戳、小册子功能,以及帮助用户从数据库读取数据并填充到域的域填写功能。 3. 安全性设置。用户可以通过设置密码和数字签名来保护 PDF 文档。用户密码和所有者密码可以确定加密的 PDF 文档的可读性、可修改性、是否可打印等有选择性的限制。与此同时,数字签名作为一个更有效的方法,可以应用于维护和对PDF文档进行身份验证。 4.数据提取。支持快速高效地从 PDF 文档提取图片、文本、PDF 分页,以及附件。 5.文件属性设置。支持对 Metadata、文件属性、页面方向、页面大小进行设置。其中文件属性包括文件限制(打印、页面提取、加评论等方面的权限限制)以及文件描述属性(文件名称、作者、主题、关键字等)。使用 Spire.PDF for .NET,用户还可以根据自己阅读喜好设定默认打开页码,分页模式,缩放比例和打印缩放,等等。 6.其他功能。 支持多种语言,支持字体格式、对齐方式设置。 绘制文字,图片,图形。 支持添加图层,透明图像,Color Space,条形码到 PDF。 支持 PDF/A-1b、PDF/x1a:2001 格式。 添加梯状图形和矢量图像到指定位置。 添加并格式化表格。 插入交互元素,例如添加自定义的 Annotation、Action、JavaScript、附件、书签等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王陈锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值