如何让 emacs 使用 pdftools 在 Windows 上打印 PDF?

如何让 emacs 使用 pdftools 在 Windows 上打印 PDF?

如果您曾经使用过 emacs,您就会知道它有多么强大,以及有多么没用。

全面披露:我的 4800 行初始化文件(很快就会达到 3000 行)确实能够在 27.5 秒内加载 125 个有用的包,这要归功于 org-babel 和 use-package —— 但我仍然无法让它打印 pdf。哦,emacs,最简单的东西对吧?

因此,由于显而易见的原因,emacs 专家的数量正在减少,尽管如此,我猜这里至少有几人已经完全征服了 emacs。唉,我还不是你们中的一员。(至少是!)

我的配置是 2019-04-17 的 26.2(build 1,x86_64-w64-mingw32),使用 ImageMagic 7 支持、pdftools、aspell 6(我没有使用)和许多其他适用于 Windows 的 gem 进行编译,仍然将直接 postscript 推送到我的非 postscript 兼容激光打印机中,该打印机立即吐出了 28 页垃圾。BLLLLpt。

诚然,我对打印的底层原理知之甚少,但我知道 emacs 仍然处于末位 - 打印 pdf 并不难。因此,设置如下:

已安装 Windows 版 Ghostscript 和 ghostview,并将其添加到路径中。Pdftools 运行良好,在打开 pdf 时覆盖 docview。初始化代码很短。

(require 'printing)

为了更好的衡量:

(add-to-list 'load-path "C:/Program Files(x86)/Ghostgum/gsview/gsview32.exe")
(add-to-list 'load-path "C:/Program Files/gs/gs9.26/bin/gswin64c.exe")

命令(我更喜欢通过 pr-path-alist 来设置它们,但是,这没有多大意义)。

(setq pr-gs-command "C:/Program Files/gs/gs9.26/bin/gswin64c.exe")
(setq pr-ps-command "C:/Program Files/gs/gs9.26/bin/gswin64c.exe")

(setq lpr-command "C:/Program Files/gs/gs9.26/bin/gswin64c.exe")
(setq ps-lpr-command "C:/Program Files/gs/gs9.26/bin/gswin64c.exe")

(setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" "-sDEVICE=mswinpr2" "-sPAPERSIZE=a4"))

(setq pr-temp-dir "c:/emacs/.emacs.d/temp/")

我尝试过两种方法,ps-print.el 方法和 printing.el 方法。我更喜欢使用 printing.els pr-interface,因为它足够简单。

lpr-buffer and lpr-region

将打印作业发送到后台处理程序,再也找不到它了。我的打印机是兄弟激光打印机,是网络上唯一的打印机,lpr 难道不应该比 postscript 更好吗?好吧,这里什么也没发生。

打印缓冲区打印区域使用选项进入后台处理程序,但没有任何内容发送到打印机(后台处理程序也不执行任何操作)。

ps-print-buffer

打印文本文档!但是它输出的是 28 页带有 pdf 的垃圾文件。

pr-ps-print-buffer

后台处理,无任何反应

pr-ps-buffer-preview

打开 gsview(弹出一个烦人的注册窗口)并预览打印作业

pr-ps-region-using-ghostscript

28页垃圾。

所以看来我可能缺少一些基本知识。Ghostscript 应该填补 postscript 和非 postscript 或 pcl 驱动程序之间的空白,对吗?

我是不是缺少了某个库?还是我只需要更好地配置初始化?

有谁知道我在说什么吗?

相关内容