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 —
C# 给PDF文档设置过期时间的更多相关文章
- Java 设置PDF文档背景色
一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化以及保护双眼的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括: 设置纯色背景色 设置图 ...
- Java 设置PDF文档背景——单色背景、图片背景
一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括2种设置方法: 设置纯色背景色 设置图 ...
- 分享一下自己写的Python 3的各种PDF文档【花了半年时间那】
这些文档花了我半年的时间去整理.因为是第一次进行整理,希望帮助后来者少走弯路.毕竟是第一次整理.哪些地方不到位,希望大家和我练习,我们一起把它做好,以下就直接给出下载地址了,都是免积分的下载奥.因此. ...
- Java 设置PDF文档浏览偏好
在查看PDF文档时,可进行一些浏览偏好设置,例如是否全屏浏览.隐藏或显示菜单栏/工具栏.设置页面布局模式等,下面将通过Java编程的方式来演示如何设置. 使用工具: Free Spire.PDF fo ...
- java将office文档pdf文档转换成swf文件在线预览
第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行. 主要模块有writer(文 ...
- PHP制作pdf文档方法
原文:PHP制作pdf文档方法 本篇博客是在看完 php+mysql web书以后自己的测试代码,虽然是测试代码,但不是简单的粘贴复制,为了学习thinkPHP框架,自己就用这个来做的,而且这本书已经 ...
- C# 如何在PDF文档中创建表格
表格能够直观的传达数据信息,使信息显得条理化,便于阅读同时也利于管理.那在PDF类型的文档中如何来添加表格并且对表格进行格式化操作呢?使用常规方法直接在PDF中添加表格行不通,那我们可以在借助第三方组 ...
- iText框架(生成pdf文档)
1.创建一个itext的简单示例 a.导包(pom.xml文件) <dependencies> <dependency> <groupId>com.lowagie& ...
- 【转载】 C#工具类:使用iTextSharp操作PDF文档
iTextSharp是一个用于操作PDF文件的组件DLL程序,在C#程序中可以引用iTextSharp组件,用于开发与PDF文件相关的报表等功能,利用iTextSharp组件提供出来的方法接口,我们可 ...
随机推荐
- Springboot MVC 自动配置
Springboot MVC 自动配置 官方文档阅读 https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#w ...
- CF658A Bear and Reverse Radewoosh 题解
Content 一场比赛有 \(n\) 道题目,其中第 \(i\) 道题目的分值为 \(p_i\),需要花费的时间为 \(t_i\).需要说明的是,\(t_i\) 越大,这道题目的难度越大.在第 \( ...
- 5款超实用的.NET性能分析工具
虽然.NET框架号称永远不会发生内存泄漏,原因是引入了内存回收机制.但在实际应用中,往往我们分配了对象但没有释放指向该对象的引用,导致对象永远无法释放.最常见的情况就是给对象添加了事件处理函数,但当不 ...
- Solon,一个轻量级的应用开发框架。发布官网喽!!!
官网发布: https://solon.noear.org/ 项目简介: Solon,是一个轻量级的应用开发框架.更快.更小.更自由! 支持JDK8+:主框架0.1Mb:组合不同的插件应对不同需求:方 ...
- Centos7查看防火墙对应的开放端口以及进行端口操作
1.查看开放端口列表 [root@host bin]# firewall-cmd --list-ports 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 12888/t ...
- 【LeetCode】263. Ugly Number 解题报告(Java & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 除去2,3,5因子 日期 [LeetCode] 题目 ...
- 【LeetCode】21. Merge Two Sorted Lists 合并两个有序链表
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:合并,有序链表,递归,迭代,题解,leetcode, 力 ...
- 「实用」打造自我感觉非常漂亮的Mac终端
背景 (今天我是一个美妆博主) 突然发现自己使用的iterm2终端样式有些朴素,为了让她看起来花枝招展的,我决定给她打扮打扮.毕竟每天面对她的时间比对象还多-- 效果对比 因为每个人的喜好都不一样,所 ...
- Redis常见使用场景
缓存 数据共享分布式 分布式锁 全局ID 计数器 限流 位统计 购物车 用户消息时间线timeline 消息队列 抽奖 点赞.签到.打卡 商品标签 商品筛选 用户关注.推荐模型 排行榜 1.缓存 St ...
- Python基础入门(8)- Python模块和包
1.包与模块的定义与导入 1.1.什么是python的包与模块 包就是文件夹,包中还可以有包,也就是子文件夹 一个个python文件模块 1.2.包的身份证 __init__.py是每一个python ...