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

我们可以给一些重要文档或者临时文件设置过期时间和过期信息提示来提醒读者或管理者文档的时效性,并及时对文档进行调整、更新等。下面,分享通过C#程序代码来给PDF文档设置过期时间的方法。

引入dll程序集

【方法1】通过 NuGet 安装。

  • 可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.PDF”,点击“安装”。
  • 也可以将以下内容复制到PM控制台安装:

          Install-Package FreeSpire.PDF -Version 7.8.9

【方法2】手动安装。

可通过手动下载 Free Spire.PDF for .NET 包,然后解压,找到BIN文件夹下的Spire.Pdf.dll。在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

 

添加过期时间

给PDF文档添加过期时间,主要通过以下几个步骤来完成:

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

C#

using Spire.Pdf;
using Spire.Pdf.Actions;

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);
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Actions

Namespace SetExpiryDate
    Class Program
        Private Shared Sub Main(args As String())
            '创建PdfDocument类的对象,并加载PDF文档
            Dim pdf As New PdfDocument()
            pdf.LoadFromFile("test.pdf")

            '通过JavaScript设置过期时间,过期警告信息并关闭文档
            Dim javaScript As String = "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 
            Dim js As New PdfJavaScriptAction(javaScript)

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

            '保存文档
            pdf.SaveToFile("SetExpiryDate.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

文档设置效果如图:

 

 

— End —