如何获得emacs以正确打印pdf?

时间:2019-09-04 05:40:51

标签: windows pdf printing emacs ghostscript

如果您走过了emacs的道路,您就会知道它的强大功能以及绝对无用的功能。

全面披露:多亏了org-babel和use-package,我的4800行初始化文件(很快将达到3000个)确实在27.5秒内成功加载了125个有用的程序包-但我仍然没有设法将其导入打印pdf。哦,emacs,最简单的事情对吗?

因此,出于显而易见的原因,当然emacs专家的人数正在减少,尽管如此,我猜测这里至少有一些人完全征服了emacs。 las,我还不是你们中的一员。 (还!)

我的配置为2019-04-17的26.2(内部版本1,x86_64-w64-mingw32),使用ImageMagic 7支持,pdftools,aspell 6(我没有使用)和许多其他Windows就绪的gem进行编译,仍然将笔直的笔迹推入我的不兼容笔迹的激光打印机中,该打印机立即吐出28页的垃圾。 BLLLLpt。

诚然,我对引擎盖下的打印知之甚少,但是我知道足够知道emacs仍然处于最后位置-打印pdf并不难。所以这是设置:

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

function components

好的措施:

hooks

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

(require 'printing)

我尝试过的几件事,ps-print.el方法和printing.el方法。我宁愿使用printing.els pr接口,因为它很简单。

lpr缓冲区和lpr区域

将打印作业发送到后台处理中,再也找不到。我的打印机是一台兄弟激光打印机,是网络上唯一的打印机,lpr不能比附言更好吗?好吧,这里什么都没有发生。

print-buffer打印区域 假脱机处理选项,但没有任何内容发送到打印机(假脱机处理也不起作用)。

ps-print-buffer

打印文本文档!它用pdf吐出了28页的垃圾。

pr-ps-print-buffer

假脱机,没有发生

pr-ps-buffer-preview

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

pr-ps-region-using-ghostscript

28页的垃圾。

所以看来我似乎缺少一些基本知识。应该在后记和非后记或pcl驱动程序之间填充Ghostscript,是吗?

我想念图书馆吗?还是只需要更好地配置初始化?

外面的人知道我在说什么吗?

1 个答案:

答案 0 :(得分:2)

我知道这不是一个完整的答案,但是评论太久了。

Ghostscript不会在驱动程序之间“填充”。 mswinpr2设备的工作方式是(抽象的细节)将输入呈现到位图,为打印机创建DeviceContext,在Device Context上绘制位图,然后告诉DC自己打印。

基本上,它呈现输入,然后使用Windows Print System进行繁重的工作。因此,您需要能够从Windows打印到打印机,我假设您已经可以做到这一点:-)

您是否尝试过从Windows命令外壳使用Ghostscript命令行?它起作用了吗?

如果输入为PDF,Ghostscript将不会“将PostScript”推入打印机。除了“兄弟”之外,您还没有确切地说出您正在使用哪种打印机,这对您很有用。例如,它是PCL,PostScript还是“其他”打印机。

最好知道打印的前几个字节是什么,看看它是PDF文件的开头还是其他格式。

我怀疑您实际上正在启动Ghostscript,是否看到了打印机选择器对话框?您的命令行似乎没有指定打印机,也没有使用默认打印机使用QueryUser开关,也没有选择/ NoCancel,因此希望您看到一个进度对话框。

尝试将-dQueryUser=1添加到您的Ghostscript命令行中,如果没有打印机选择器对话框,则说明您没有在运行Ghostscript。

恐怕我无法提供任何有关为什么的建议。