Ole Asked: 2019-08-06 20:32:42 +0800 CST2019-08-06 20:32:42 +0800 CST 2019-08-06 20:32:42 +0800 CST 通过脚本打开 PDF 文件、打印并关闭它 772 我的一个朋友得到了一些感染了恶意软件的 PDF 文件。他发现如果他在 Ubuntu 上打开它们并将它们打印回一个文件,它就会删除恶意软件。 任何人都知道是否有一种方法可以编写打开、打印和关闭 PDF 文件目录的脚本? scripts command-line printing pdf 1 个回答 Voted Best Answer Raffa 2019-08-07T23:50:07+08:002019-08-07T23:50:07+08:00 这将完成这项工作: 首先: 安装 PDF 打印机,在终端中运行以下命令: sudo apt install cups-pdf 第二: 在终端中,cd进入包含 PDF 文件的目录并运行以下命令: find . -maxdepth 1 -type f -name '*.pdf' -exec lpr -P PDF {} \; 完毕: 打印的文件位于您的主目录中名为PDF. 重要通知: 当您在上面的第一步中安装 PDF 打印机时(默认情况下),它被命名为PDF作为标识系统中打印机的名称,上面第二步中的命令应该可以正常工作,没有错误。 但是,如果您的系统不是这种情况,或者您必须重新删除并添加打印机,则打印机的名称可能会更改,您将收到类似lpr: No such file or directory. 要解决此问题,您需要为您的 PDF 打印机找到新名称。这是如何做到的: 在终端中输入这个并回车: lpstat -s 你会看到这样的输出: device for CUPS-PDF-Printer: cups-pdf:/ 您的打印机名称现在是CUPS-PDF-Printer,您需要相应地修改第二步中的命令,如下所示: find . -maxdepth 1 -type f -name '*.pdf' -exec lpr -P CUPS-PDF-Printer {} \; 说明 - 根据user3140225的要求: {} 包含find命令的输出。 要查看它的实际效果: 请find . -maxdepth 1 -type f -exec echo {} \;从包含一些文件的目录中运行。 然后find . -maxdepth 1 -type f从同一目录中运行。 输出是一样的。 \ 防止;后面的分号被解释为会提前终止命令的 shell 标点符号。 ; 指示参数部分的结束,-exec它需要它才能正常工作。
这将完成这项工作:
首先:
安装 PDF 打印机,在终端中运行以下命令:
第二:
在终端中,
cd
进入包含 PDF 文件的目录并运行以下命令:完毕:
打印的文件位于您的主目录中名为
PDF
.重要通知:
当您在上面的第一步中安装 PDF 打印机时(默认情况下),它被命名为PDF作为标识系统中打印机的名称,上面第二步中的命令应该可以正常工作,没有错误。
但是,如果您的系统不是这种情况,或者您必须重新删除并添加打印机,则打印机的名称可能会更改,您将收到类似
lpr: No such file or directory
. 要解决此问题,您需要为您的 PDF 打印机找到新名称。这是如何做到的:在终端中输入这个并回车:
lpstat -s
你会看到这样的输出:
device for CUPS-PDF-Printer: cups-pdf:/
您的打印机名称现在是CUPS-PDF-Printer,您需要相应地修改第二步中的命令,如下所示:
find . -maxdepth 1 -type f -name '*.pdf' -exec lpr -P CUPS-PDF-Printer {} \;
说明 - 根据user3140225的要求:
包含
find
命令的输出。要查看它的实际效果:
请
find . -maxdepth 1 -type f -exec echo {} \;
从包含一些文件的目录中运行。然后
find . -maxdepth 1 -type f
从同一目录中运行。输出是一样的。
防止
;
后面的分号被解释为会提前终止命令的 shell 标点符号。指示参数部分的结束,
-exec
它需要它才能正常工作。