如果你走过emacs的道路,你就会知道它有多么惊人的强大,以及它有多么毫无用处。
完全公开:我的4800行初始化文件(很快将是3000行)确实设法在27.5秒内加载了125个有用的包,这要归功于org-babel和use-package --但我仍然没有设法诱使它打印一个pdf。哦,emacs,最简单的事情,对吧?
因此,由于显而易见的原因,emacs专家的人数正在减少,尽管如此,我猜这里至少有一些人已经完全征服了emacs。可惜,我还不是你们中的一员。(还没有!)
我的配置,26.2 (内部版本1,x86_64-w64-mingw32) 2019-04-17,编译了ImageMagic 7支持,pdftools,aspel6(我没有使用)和许多其他windows就绪的gem,仍然将postscript直接推送到我的非postscript兼容的激光打印机,它立即吐出28页垃圾。BLLLLpt。
诚然,我对底层打印知之甚少,但我知道emacs仍然有一只脚在最后-打印pdf并不是那么难。下面是设置:
windows的Ghostscript和ghostview已安装并添加到path中。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- lot来设置它们,但是,嗯,这没有多大意义)。
(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缓冲区和lpr区域
将打印作业发送到假脱机,再也找不到了。我的打印机是兄弟激光打印机,网络上只有一台,lpr不应该比postscript更好吗?这里什么都没发生。
print-buffer print-region to spooling with options,但不向打印机发送任何内容(despooling也不做任何事情)。
ps-打印缓冲区
打印文本文档!然而,它吐出了28页的垃圾和一个pdf。
pr-ps-打印缓冲区
假脱机,不会发生任何事情
pr-ps-buffer-预览
打开gsview (带有恼人的注册弹出窗口)并预览打印作业
pr-ps-region-using-ghostscript
28页的垃圾。
因此,我似乎遗漏了一些基本的知识。Ghostscript应该填充postscript和非postscript或pcl驱动程序之间的内容,对吗?
我是不是错过了一个图书馆?或者我只需要更好地配置初始化?
外面有人知道我在说什么吗?
发布于 2019-09-04 15:36:58
我知道这不是一个完整的答案,但是评论太长了。
Ghostscript不会在驱动程序之间“填充”。mswinpr2设备的工作方式是(细节抽象)将输入渲染为位图,为打印机创建一个DeviceContext,在设备上下文上绘制位图,然后告诉DC自行打印。
基本上,它呈现输入,然后使用Windows打印系统来完成繁重的工作。因此您需要能够从Windows打印到您的打印机,我假设您已经能够做到这一点:-)
您是否尝试过在Windows命令shell中使用Ghostscript命令行?它成功了吗?
如果输入是PDF,Ghostscript将不会‘推送PostScript’到你的打印机中。除了“兄弟”之外,你还没有确切地说出你使用的是哪种打印机,知道这一点会很有用。例如,它是一台PCL、PostScript或“其他”打印机。
知道打印的前几个字节是什么也是很好的,看看它是PDF文件的开始,还是其他格式。
我怀疑你是否真的启动了Ghostscript,你有没有看到一个打印机选择器对话框?您的命令行似乎没有指定打印机,也没有指定使用默认打印机的QueryUser开关,也没有选择/NoCancel,所以我希望您看到一个进度对话框。
尝试添加-dQueryUser=1到你的Ghostscript命令行,如果你没有得到一个打印机选择器对话框,那么你就不是在运行Ghostscript。
不过,我恐怕不能提供任何关于为什么会这样的建议。
https://stackoverflow.com/questions/57782105
复制相似问题