欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

学习在 MAC系统上给 PDF文件加密的方法

程序员文章站 2022-03-29 14:26:25
我上班的时候经常使用不同的文字处理器和文本编辑软件。我写好的大部分文档都用很流行的那种(尤其是Windows用户常用的)选项来生成,也就是用“打印-〉保存成PDF”。很多情况下,有... 08-10-08...

我上班的时候经常使用不同的文字处理器和文本编辑软件。我写好的大部分文档都用很流行的那种(尤其是windows用户常用的)选项来生成,也就是用“打印-〉保存成pdf”。很多情况下,有些个人的pdf文档,我需要进行加密。
很多工具,比如adobe acrobat都能给pdf文件设置密码,但是我不想花几百块钱去购买这些软件。除此之外,我比较特立独行的一面,希望通过其他方法给这些pdf加密。
本文中我将详细讲述怎样在mac os x上,用随处可得的命令行功能以及automator工作流给pdf文件加密。
我在网上用google搜索到masayuki nii写的一篇文章,他介绍了一种在mac os x tiger上使用的工具。它直接用pdfkit来给pdf文件设置密码和权限。该软件包会安装一种pdfauxinfo的命令行功能,还有所谓的“给pdf添加aux info”的automator 控件,该控件在automator工具的pdf控件下可用。
我既会讲到用automator来创建加密pdf文件的方法,也会讲到使用pdfauxinfo命令行功能的方法。我建议大家使用automator方案,因为这种方法可以方便地整合进定制的工作流中去。
额外信息:除了本文中讲的加密功能外,pdfauxinfo还可以实现一些额外功能,比如设置copy/print权限以及修改pdf文件作者,创建者以及标题等等呢个。你可以在一些我列出的截图上看到这些功能。
下载并解开压缩包以后,系统会自动安装pdfauxinfo,安装路径是/usr/sbin/pdfauxinfo。之后,你可以将它移到任意位置,但需要注意的是,automator就不能像它这样随便放置在任何位置。
--help参数将显示程序选项:
学习在 MAC系统上给 PDF文件加密的方法
输入下列参数后就可以把现存文件转成加密的pdf版本:
学习在 MAC系统上给 PDF文件加密的方法
-i -> 当前pdf文件
-o -> 新的加密文件
-u -> 需要用户设置的密码
不要设置-x(所有者密码),因为该选项只是针对跟pdf文件有关的权限。如果只设置了所有者密码来决定允许谁打印,那么任何人都能打开该pdf文件,但是不能打印而已。
automator是使用不同控件中可用的程序选项的典型例子。之前我也说过,安装该程序时它会自动创建automator 控件。就像这样:
学习在 MAC系统上给 PDF文件加密的方法
填入必要信息,本例中只需填入用户密码,这很简单,但使用automator控件的话我们需要填很多其他的信息。
由于该控件要求文件/文件夹输入值,那么最好的方法就是把“获取高级搜索项”或者“索取搜索项”放进去。我一般用前一种方法,用这种方法你可以在不同位置的许多pdf文件中选择多个文件出来。
把这两个控件在一个工作流中结合就行了,但是根据我的经验,我们还需要做一件事。把“获取高级搜索选项”和“给pdf添加aux信息”结合起来后,这样所有新建的加密的pdf文件都会自动被放置到电脑上的/tmp文件夹。最好你还能把“更多搜索选项”作为第三方控件添加进来,于是你就得到如下的工作流:
学习在 MAC系统上给 PDF文件加密的方法
该工作流用密码保护选定的pdf文件,并且把这些文件移到你指定的位置。在这个过程中我遇到的唯一阻碍就是,使用automator 控件的话你就无法指定输出文件的名称。如果你认为通过使能“移动搜索项目”中的“替代现有文件”确认框来解决这个问题,那你就错了;这是只是一个移动控件。输出文件的名字是随机的,比如pdfauxinfo.k365vaq6.pdf。很有可能存在一种automator控件,而它可以获得文件的名字并修改之,但是我并没用使用它。
存取加密pdf文件
预览新近创建的加密文件:
学习在 MAC系统上给 PDF文件加密的方法
学习在 MAC系统上给 PDF文件加密的方法
用adobe reader 8.1.0打开新建的加密文件:
学习在 MAC系统上给 PDF文件加密的方法
学习在 MAC系统上给 PDF文件加密的方法
在微软的vista系统中用adobe reader 8.1.0打开新建的加密文件:
学习在 MAC系统上给 PDF文件加密的方法
学习在 MAC系统上给 PDF文件加密的方法
以上就是在mac os x tiger上创建加密的pdf文件的免费的方法了。