我在包含许多其他 PDF 处理命令的 Dolphin 服务菜单文件中有这一行:
Exec=bash -c 'f="%u"; ocrmypdf "$f" "${f%.pdf}_ocr.pdf";'
它的优点是提供 形式的输出文件MY_PDF_ocr.pdf
,从而保留输入文件的名称。但我更愿意让命令在终端 ( konsole
) 中运行,以便我看到该过程。
为此,我可以使用以下行:
Exec=konsole --noclose -e ocrmypdf "%u" ocr_en.pdf
但没有输出保留输入的名称。
像这样的一行
Exec=konsole --noclose -e ocrmypdf "%u" "${%u}_ocr.pdf"
什么也没做。
如何调整ocrmypdf
以便命令在 konsole 中运行并且输出包含输入的名称?
经过几次试验(和错误)后,一个简单的命令
ocrmypdf %u %u_ocr.pdf
将给出一个具有奇数名称(包括扩展名)的输出文件,INPUT.pdf_ocr.pdf
在服务菜单中:但是一个更清晰的解决方案(灵感来自我可以从这里(脚本的正确格式)和这里(
bash
在终端中使用这样的脚本)选择的内容)似乎是ocr_EN.sh
为该 OCR 命令创建一个单独的脚本(例如) -形式(英语):使其可执行,然后使用以下命令(此处包含在服务菜单文件的行中):
它给出了一个名为的输出
INPUT_ocr_EN.pdf
(扩展名没有出现两次)。