【发布时间】:2015-08-12 11:18:57
【问题描述】:
我唯一的要求是在文件夹中找到选定的 pdf 是否启用阅读器,更具体地说,如果以允许人们添加注释的方式定义使用权限(例如 cmets)。
我在 Windows 应用程序中执行此操作。如果我单击一个按钮,则会触发一个事件,在文件夹中搜索 PDF 文件。此事件需要检查文件夹中的 PDF 是否为 cmets 启用了 Reader。如果是,我需要删除评论使用权或将 PDF 恢复为原始版本。
我的代码只能在文件夹中找到 PDF 文件。我不知道如何检查所选 PDF 是否启用评论。请温柔并提出解决方案。
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
{
string[] filePaths = Directory.GetFiles("D:\\myfolder\\pdffolder");
List<ListViewItem> files = new List<ListViewItem>();
foreach (string filePath in filePaths)
{
---need to check comment enabled or not---
}
}
}
【问题讨论】:
-
请澄清您所说的“已启用评论”是什么意思。您是指“阅读器启用”吗?请注意,所有 PDF 都启用了注释,因为 Adobe Reader 不再要求文档启用 Reader 以便人们能够添加 cmets。另一种选择是您指的是通过加密设置的权限,但在这种情况下,您的问题就更没有意义了,因为不清楚您将如何处理加密文件以使其不再启用评论。这个问题在目前的状态下是无法回答的。如果不明确,则应以“不清楚”的形式关闭。
-
如果您询问编写您的需求的人她/他的意思以及她/他希望通过删除“评论启用”来实现什么,这将有所帮助。除非您了解命令的意图,否则切勿服从命令。
-
感谢布鲁诺的建议和澄清。实际上生成的pdf默认是不启用评论的,在acrobat文件>另存为>阅读器扩展PDF>在Adobe Reader中启用评论,帮助读者标记cmet。所以我需要以编程方式检查该文件是否启用了注释?我希望我已经表明了我的观点......
-
我试图解释的是,Adobe Reader 现在允许最终用户将 cmets 添加到 any PDF,无论它是否启用了 Reader。删除阅读器启用不会帮助您阻止用户添加 cmets...
-
我已经用 Java 回答了你的问题。将 Java 转换为 C# 对您来说应该没有问题。
标签: c# pdf itextsharp pdfbox