【问题标题】:What do I need to put in .emacs to print to default Windows printer?我需要在 .emacs 中添加什么才能打印到默认的 Windows 打印机?
【发布时间】:2012-03-02 18:23:54
【问题描述】:

我曾经在 Windows+Cygwin 的 Emacs 21 中完美地进行 postcript 打印,但升级到 Emacs 23 后,我在 minibuffer 中收到以下错误:

打开输出文件:无效参数,C:/PDFCreator:

我当前的 .emacs 包含当前的相关语句:

(require 'ps-print)
(setq ps-spool-duplex t)
(setq ps-auto-font-detect nil)
(setq ps-print-color-p nil)

它曾经也有以下行:

(setq ps-lpr-command "qprt")

但它会产生类似的错误:

正在搜索程序:没有这样的文件或目录,qprt

知道 Emacs 23 中发生了什么变化以及如何让打印重新焕发生机吗?

(此时我只想打印到默认的 Windows 打印机,即PDFCreator)。

【问题讨论】:

    标签: printing emacs23


    【解决方案1】:

    来自 Emacs Wiki PrintingFromEmacs,推荐如下配置。 其中 lpr 是 Cygwin lpr 版本。

      (setenv "PRINTER" "PDFCreator")
        (cond ((eq system-type 'windows-nt)
           (setq ps-printer-name "PDFCreator")
           (setq ps-printer-name-option "-d")
           (setq ps-lpr-command "/bin/lpr")))
    

    您也可以在那里使用 Ghostscript 配置并从弹出窗口中选择 PDFCreator 打印机。相应地调整您的 GS_LIB 和您的 ghostscript 二进制位置。

    (setenv "GS_LIB" "e:/tools/GSTools/gs8.14/gs8.14/lib;e:/tools/GSTools/gs8.14/fonts")
       (setq ps-lpr-command "e:/tools/GSTools/gs8.14/gs8.14/bin/gswin32c.exe")
       (setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" "-sDEVICE=mswinpr2"))
       (setq ps-printer-name t)
    

    【讨论】:

    • 谢谢。 Cygwin lpr 版本可以工作,除了 ps-lpr-command 应该是普通的 "lpr""/bin/lpr""usr/bin/lpr" 都不起作用)。
    【解决方案2】:

    PDFCreator 用户请注意 - 他们现在安装了一堆工具栏,并在您安装时接管您的网络浏览器。

    http://en.wikipedia.org/wiki/Pdfcreator#Adware_toolbar_controversy

    我让 PDFCreator 在 Emacs 上运行良好,然后我犯了让 PDFCreator 自行更新的错误。它将我所有的搜索查询重定向到 Bing,接管了一堆浏览器设置,添加了工具栏、默认登录页面等。我花了大约一个小时来清理它添加的所有垃圾。

    【讨论】:

      【解决方案3】:

      我和发帖人有同样的症状,但这不是因为 Emacs 23 的任何变化。 我的打印机是支持 postscript 的网络打印机。

      首先,当我的工作计算机从 Windows 升级到 Vista 时,我的主机名发生了轻微的变化。我不得不相应地改变一个字符: 来自

      (setq ps-printer-name "//evf4ce46ac4ad3/seki81050470cm") 
      

      (setq ps-printer-name "//e7f4ce46ac4ad3/seki81050470cm") 
      

      这改变了错误消息

      direct-print-region-helper: Opening output file: invalid argument, //evf4ce46ac4ad3/seki81050470cm
      

      direct-print-region-helper: Opening output file: no such file or directory, //e7f4ce46ac4ad3/seki81050470cm
      

      然后我必须启用打印机共享。这可以在

      中找到
      \\e7f4ce46ac4ad3\Printers
      

      这可能可以以更通用的方式找到。 \\%computername%\Printers 对我不起作用;我不知道为什么。

      右键单击打印机图标,选择共享并启用共享这台打印机,使用合适的打印机名称,最好不要有空格。

      这足以为我启用打印。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-19
        相关资源
        最近更新 更多