如何使用mupdf打印pdf文档?

如何使用mupdf打印pdf文档?

我在 mupdf 手册中没有找到任何打印密钥(http://mupdf.com/docs/manual)。使用 mupdf 打开时是否有无文档打印功能或任何其他打印文档的好方法?

答案1

MuPDF 是一个观众应用。对于 1.1 版本(将来可能会更改),没有开箱即用的打印功能。

答案2

不,没有找到未记录的打印功能,但也许还有其他好方法。如果您不喜欢在命令行中输入 pdf 的名称,您可以将文件管理器配置为调用一个脚本来为您打印它。这是来自我的 vimf 配置 - vifmrc:

v1

com lp lp -dHLL2300D -P %a -ofit-to-page %c

如果您需要了解 mupdf 中的页面,请按 Shift+pa 仔细查看左上角。然后在 vifm 中选择文件(它可能已经被选择,因为您可能已经以这种方式打开了 pdf)并输入例如

:lp 20-30

这可能就是全部了,但我做了版本 2,因为我需要更多定制的东西。

com lp python3 /home/h/py/print.py %c
:nnoremap o :lp<cr>

下面是我在第 ~13 行调用 lp 的脚本。脚本较长,因为我保留了打印的历史记录。

/home/h/py/print.py

#!/usr/bin/env python3
import argparse
import subprocess
print()
with open('/home/h/py/printlog', 'r') as f:
    print(f.read())
    print('----')
parser = argparse.ArgumentParser()
parser.add_argument('file')
args = parser.parse_args()
print(args.file)
pages = input('print pages: ')
subprocess.run(['lp','-dHLL2300D', '-P', pages, '-ofit-to-page', args.file])
with open('/home/h/py/printlog', 'a') as f:
    f.write('\n')
    f.write(pages)
    f.write('\t')
    f.write(args.file)
input('press Return to return')

现在,我只需使用 i3wm 切换 mupdf 和 vifm,然后按“o”进行打印,输入任何范围或页面,然后按“返回”进行打印。如果我想要我开始阅读的一些 pdf 的几页,我什至不打开 mupdf,我只需在 vifm 中的文件上点击“o”并指定要打印的页面。

相关内容