CUPS 打印 pdf 文件

CUPS 打印 pdf 文件

我如何告诉 lpr 命令 (cups) 我的文件实际上是 pdf?

lpr file.pdf

不会打印任何东西。

答案1

至少有两种方法可以转换和打印 PDF 文件。

第一种方法是在 xpdf(PDF 文件查看器)中查看文件,然后左键单击打印机图标。这实际上不会将文件发送到打印机,但它会在同一目录中写入一个 PostScript 文件,其基本文件名与 PDF 文件相同,但具有扩展名.ps。然后您可以使用 lpr 打印该文件或将其转换为其他格式。

第二种方法是使用 pdf2ps,其中的一部分GS包,将 PDF 文件转换为 PostScript(然后按照上面 xpdf 的描述打印 PostScript 输出)。 pdf2ps 有两个参数:要转换的 PDF 文件的名称和要写入的 PostScript 文件的名称。

要转换 PDF 文件“pricelist.pdf”,请输入:

$ pdf2ps pricelist.pdf pricelist.ps 

pricelist.ps该命令在当前目录中写入一个 PostScript 文件。

答案2

我在尝试使用 Mint 17 中的默认查看器应用程序在佳能喷墨打印机上打印 pdf 文件时遇到了类似的麻烦。我对杯子打印知之甚少,但值得一提的是,这就是我最终如何让一切正常工作的:1 - 我做到了通过安装 Mint 17.2 进行发行版更新,不确定这是否是我最终成功的一个因素。 2 - 我使用在线搜索安装了正确的打印机驱动程序(Canon MX410)。 3 - 我现在确保在启动 Linux 之前打开打印机,以便加载正确的打印机驱动程序。

诚然,没有诊断出最初的问题是相当令人不满意的,但至少我现在很高兴正常打印!

答案3

我如何通过此脚本在命令行 (cli) 中直接打印 PDF bash

#!/bin/bash

model=XXX # partial match
dev=$(lpstat -a | awk -v m="$model" '$1 ~ m{print $1;exit}')

if [[ -z $1 ]]; then
    echo >&2 "Require PDF file as argument"
    exit 1
fi

exec lpr -P $dev -o Resolution=150dpi -o OptionDuplex=False -o PageSize=A4 -o PageRegion=A4 -o Duplex=None -o InputSlot=Auto -o MediaType=Plain -o ColorModel=Gray "$@"

相关内容