2017-10-04 79 views
0

我正在尝试打印到共享Google云打印帐户的打印机。我试图使用CUPS-Cloud-Print,它允许您将打印机从您的云打印帐户添加到您的本地CUPS服务器。这个问题是我的打印出错。因此,如果有人最近在基于CentOS/RedHat的系统上使用了CUPS-Cloud-Print并使其运行,那也是有帮助的。CUPS-cloud-print CentOS

根据issue我发布在这个项目上,我可以将文档保存到谷歌驱动器,只是无法打印。所以我知道认证正在工作。我也可以通过各种浏览器(甚至是CentOS上的浏览器)打印到同一台打印机上,因此问题不在于打印机或打印机的网络,也不是打印机在Google Cloud Print中的设置。也许有一种方法可以启用更详细的日志记录来找出真正的问题(比如也许它不能将其转换为PDF)。我收到的错误是“来自云打印的类型为pdf的错误响应:无法解析打印作业的打印传票。”

更多信息:我去了模拟页面here,使用从我的杯子日志(见下文)相同的票。这个模拟页面需要PDF(CUPS-Cloud-Print为我做转换),所以我提供了一个真正的PDF。第一次,我尝试了下面的票,并得到了同样的错误CUPS-Cloud-Print得到了。第二次,我把票按原样留在了模拟器中,并且打印得很好。

从CUPS日志票证云打印似乎有一个问题,我是使用CUPS,云打印或仿真工具:

{"print": {"color": {"type": "STANDARD_COLOR"}, "margins": {"type": "STANDARD"}, "dpi": {"vendor_id": "epns200:Level2", "vertical_dpi": 360, "horizontal_dpi": 360}}, "version": "1.0"} 

从模拟中收集的更多信息:

这张票工作原理:

{ 
    "print": 
    { 
     "color": 
     { 
      "type": "STANDARD_COLOR" 
     }, 
     "dpi": 
     { 
      "vendor_id": "epns200:Level2", 
      "vertical_dpi": 360, 
      "horizontal_dpi": 360 
     } 
    }, 
    "version": "1.0" 
} 

而且这张票不能工作:

{ 
    "print": 
    { 
     "color": 
     { 
      "type": "STANDARD_COLOR" 
     }, 
     "margins": 
     { 
      "type": "STANDARD" 
     } 
    }, 
    "version": "1.0" 
} 

所以它似乎是边际是错误的,但我没有看到任何错误的。但是,当我将其与Google文档here进行比较时,我发现没有任何问题。有任何想法吗?

回答

0

事实证明,issue #114解决我的问题。基本上,我不得不从

return self._getCapabilitiesDict(attrArray, 
            self['capabilities']['printer'], 
            overridecapabilities) 

改变/usr/share/cloudprint-cups/printer.py方法_getCapabilities到

 # HACK HERE 
     #return self._getCapabilitiesDict(attrArray, 
     result = self._getCapabilitiesDict(attrArray, 
           self['capabilities']['printer'], 
           overridecapabilities) 
     result['print'].pop('margins', None) 
     #result['print']['duplex']['type'] = 'LONG_EDGE' 
     return result 

对我来说是删除/弹出从谷歌打印票据的利润,因为那是什么导致谷歌到的关键拒绝Google Print Ticket。无论出于何种原因,双面打印线都会导致某些内容崩溃,这就是它被注释掉的原因。