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 —