7

我需要在 Linux CUPS 服务器中打印 MS Excel、MS Word 和 HTML 文件。当我尝试打印这些媒体类型时,会出现以下情况,这是我到目前为止发现的:

  • 对于 MS Excel 和 MS Word 文件:

    当我尝试打印这样的文件时,错误输出是:

    alvaro@alvaro-VM:~$ lp -d test_printer -o document-format=application/msword ptest.doc
    lp: Unsupported format 'application/msword'!
    

    或者,同样的:

    alvaro@alvaro-VM:~$ lp -d test_printer  ptest.doc
    lp: Unsupported format 'application/msword'!
    

    我在搜索 arround 时发现,据说可以使用CUPS 过滤器,在这种情况下,我发现的那个叫做“ officetop ”(sourceforge/下载链接),可以打印 MS OFFICE 文件。这个“officetop”过滤器的问题是我不知道如何安装或配置它或使它工作所需的任何东西,我找不到任何教程或指南。所以我会很感激这方面的任何帮助。您是否建议使用此过滤器来执行此任务?我对任何替代解决方案持开放态度。

  • 对于 HTML 文件:

    作为第一个测试,我做了:

    alvaro@alvaro-VM:~$ lp -d test_printer  -o document-format=text/html index.html 
    the requested id is test_printer-105 (1 archivo(s))
    

    并且,这给出了相同的结果:

    alvaro@alvaro-VM:~$ lp -d test_printer  index.html 
    the requested id is test_printer-106 (1 archivo(s))
    

    索引.html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">        
    <html><body><h1>It works!</h1>
    <p>This is a html print test.</p>
    </body></html>
    

    结果:在打印纸上,您只能看到 de html 代码而不是格式化文本。

    编辑:如果我从 chrome 之类的网络浏览器打印网页,它会打印得很好,但是如果我使用浏览器选项“将网页另存为”下载网页,然后发出 *lp -d test_printer index.html* 会出现相同的情况我之前提到过,只是打印了 html 代码。

    请帮助解决这个问题。我想要的是获得可能的格式化文本。也可以打印 HTML+CSS?。

非常感谢你们。

问候。

PD:对不起我的英语。

4

1 回答 1

2

请记住,Linux 会从/etc/mailcap获取有关打开哪些类型文件的应用程序的说明。此外,任何类型的打印文件都需要由能够执行此操作的应用程序“渲染”或“编译”,因此引用/etc/mailcap。电子邮件应用程序无法“呈现” Excel 文件,Photoshop 无法打开 HTML 文件 :)

从外观上看,您的/etc/mailcap中没有用于处理 Excel、Word 或 HTML 文件的应用程序的条目,这就是打印原始内容而不是“渲染”页面的原因(如果您从 Linux 打印)。

您是从 Linux 还是从 Windows 打印?如果您从 Windows 打印(通过 Linux 机器上的 cups 服务器)并且打印正常,那么您知道问题不在于打印机,而在于 Linux 上的/etc/mailcap

于 2014-05-02T06:23:26.157 回答