打印:如何禁用打印的“-fit-to-page”选项?

打印:如何禁用打印的“-fit-to-page”选项?

几个线程描述了将 -fit-to-page 应用于lplpr命令,以使图像、ps 或 pdf 适合一页。

然而,这似乎现在已成为默认行为,而这正是我所做的不是想要。我有一个 pdf 文件,它比 A4 纸大很多(这是我的打印机唯一能处理的格式),但每次我打印它时,它都会缩小到完全适合 A4 纸。

我想要获得一系列可以连接起来以生成完整图像的 A4 纸,或者至少是一张带有(例如)图像左下角的 A4 纸。

有没有可以添加到lp或 的选项lpr?我试过了,lpr -o scaling=100但没有成功。我是否需要一个单独的实用程序来将 pdf 文件“分割”成 A4 大小的可打印部分?

信息:打印机是 Brother HL5350,Ubuntu 是PRETTY_NAME="Ubuntu 18.04.3 LTS"

pdfinfo OCETDS568.pdf 
Author:         anonymous
Producer:       
CreationDate:   Thu Nov 20 11:29:00 2014 GMT
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          1
Encrypted:      no
Page size:      2589.12 x 3741.12 pts
Page rot:       0
File size:      696464 bytes
Optimized:      no
PDF version:    1.3

答案1

pdfposter 可以解决问题。另请参阅如何将 PDF 文档打印到多页上? 事实上,我似乎发布了一个重复的问题,在提问之前已经搜索过,但显然搜索条件不是最理想的。

答案2

通读杯形过滤器文档中,我发现缩放不仅取决于打印机的默认设置,而且还受 PDD 文件(如果使用)默认设置以及 CUPS 在此过程中使用的过滤器的影响。

因此,最好的选择是将参数明确传递给lp命令,而不是依赖任何层设置的默认值。

CUPS 用于处理文件的过滤器取决于 PPD 文件上表达的定义,但一般来说,PDF 源文件将通过过滤器pdftopdf,而图像源文件将通过imagetopdfimagetoraster,具体取决于打印机的功能。

根据上面链接的文档:

  • 打印图像时:
    IMAGE PRINTING DEFAULT CHANGED TO "SCALE TO FIT"

    Compared to the PostScript-based original CUPS filters there is a
    change of defaults: The imagetopdf and imagetoraster filters print
    in "scale-to-fit" mode (image is scaled to fill one page but
    nothing of the image being cut off) by default.

    This is done to support photo printing via AirPrint. The photo
    apps on Apple's iOS devices send print jobs as JPEG images and do
    not allow to set any options like "scaling" or the page size. With
    "scale-to-fit" mode set by default, the iOS photos come out on one
    page, as expected.

    To get back to the old behavior, supply one of the options
    "nofitplot" "filplot=Off", "nofit-to-page", or "fit-to-page=Off".
  • 打印 PDF 时:
2) Page autorotate

pdftopdf automatically rotates pages to the same orientation,
instead of (e.g. fitplot) scaling them down unrotated.
This behavier can be controlled by

  pdfAutorotate / nopdfAutorotate

Specifically, if a PDF file contains pages with page width greater than
page height (a landscape page), such pages are automatically rotated
anticlockwise by 90 degrees, unless the PPD file specifies
"*LandscapeOrientation: Minus90". In this case, clockwise rotation is used.
To turn off the feature on a job-by-job basis use

  lp -d <print_queue_name> -o nopdfAutorotate <document>

相关内容