近期需要将数学笔记打印出来复习,才发现Linux KDE环境下的默认PDF软件Okular根本无法将我在GoodNotes B5大小的页面写下的内容自适应地放大到A4纸上,只能以页面的原始尺寸打印。然后,用Firefox浏览器打开PDF文件,结果只能使用人为指定的缩放比例打印,而没有自适应纸张的功能。于是,便想到用纯命令行试试看。搜索了一下,发现这里总结出的常用打印命令比较全面,且经过测试后,完全能够满足我的需求。例如,缩放页面以自适应纸张且只打印奇数页的命令如下:

lpr -o page-set=odd -o portrait -o fit-to-page -o media=A4 file-name

常用的打印相关命令也一并列在下面供今后参考:

  • 列出当前系统已安装的所有打印机

    lpstat -p
  • 列出当前系统的默认打印机

    lpstat -d
  • 显示打印队列

    lpstat
  • 删除打印任务

    lprm job-id
  • 使用默认打印机打印文件

    lpr file-name
  • 使用指定打印机打印文件

    lpr -P printer-name file-name
  • 显示默认打印机选项

    lpoptions -l
  • 显示指定打印机选项

    lpoptions -p printer-name -l
  • 指定纸张大小、方向

    lpr -o landscape -o fit-to-page -o media=A4 file-name
  • 使页面自动缩放至纸张大小

    lpr -o fit-to-page file-name
  • 指定打印份数

    lpr -#number-of-copies file-name
  • 只打印奇数页

    lpr -o page-set=odd file-name
  • 只打印偶数页

    lpr -o page-set=even file-name
  • 设置页码范围

    lpr -o page-ranges=1-4,5,6-12 file-name
  • 设置标语页

    lpr -o job-sheets=start,end file-name

    其中,start与end可以替换为classified、confidential、secret、standard、topsecret与unclassified。

附记:由此也可以看出,虽然Linux下的命令行工具提供了完善和强大的功能,但是图形界面软件不注重细节、用户体验差的毛病一直都存在。像这里提到的软件基本功能缺失的问题还算是好的。更有甚者,一些被Linux稳定版收录的软件还会出现一启动就漰溃的情况。这些现象对于直接参与相关开源项目的程序员来说也许不是什么大问题,但是对于软件的最终用户或者也包括不直接从事该软件开发的程序员来说,则是难以接受的。

在Linux下使用命令行打印文件的更多相关文章

  1. linux下通过命令行把文件拷贝到U盘上

    常用linux,往U盘拷贝文件是常用的一种方法.下面这个方法是笔者亲测有效,暂时记录下来. 1.插入U盘,fdisk -l查看U盘是哪个设备(比如/dev/sdb1)然后mount  /dev/sdb ...

  2. Ubuntu使用命令行打印文件

    Ubuntu使用命令行打印文件 正文 环境: Ubuntu 16.04.3 LTS HP Deskjet InkAdvantage 4648 准备步骤 安装Common UNIX Printing S ...

  3. Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身

    Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身 rm -rf *

  4. 在linux下用命令行编译 java的eclipse项目

    由于jdk的版本问题导致在windows上编译打包好的jar包放在linux服务器上运行的时候出现一点小异常,所以决定在linux上进行一次项目编译,这有两个选择1.在相同的linux环境下安装lin ...

  5. 在GNU/Linux下使用命令行自动挂载与卸载USB磁盘

    在命令行环境下如果每次都是靠手动敲入mount与umount命令来挂载与卸载USB磁盘是件很麻烦的事情.尤其是mount命令的参数非常多.比如,磁盘的分区类型(vfat.ntfs等),挂载的目录节点, ...

  6. Linux下基于命令行的抓包方法

    大家可能都已经对著名的抓包工具Ethereal比较熟悉了,这里再介绍一种基于命令行的抓包工具tcpdump. 举例:抓本机1813端口上的数据,并将抓包结果保存在test.cap文件中 然后在本地可以 ...

  7. Linux下dos2unix命令将windows文件编码格式dos转换成Unix格式

    问题描述: 在Windows系统下面使用文本编辑器notepad后传到Linux系统下的话 Linux下处理和执行一般都存在一些问题,我们可以通过命令查看文件是否是dos格式的, 如果有如图所示的M标 ...

  8. Linux下使用命令行配置IPMI

    ipmitool是什么: 百度百科给的解释已经够用了,简单说就是“IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备“智能 ...

  9. linux下通过命令行上传文件到百度网盘

    一.环境: centos release 6.9 python 2.7.13 二.安装工具bypy sudo pip install bypy 三.使用bypy 3.1 授权 [root@ineedl ...

随机推荐

  1. sql回显注入-笔记

     拼接sql命令查询数据   注释 常用于sql注入            # 井号 单行注释 注意:URL编码 %23          -- 两个减号加空格 单行注释           /*   ...

  2. C++ string 详细用法

    string不是STL的容器(知道这一点的时候我也很吃惊),但是它与STL容器有着很多相似的操作,不需要担心长度问题,还封装了多种多样的方法,十分好用. 用到的库 #include <strin ...

  3. hive排错

    找出错的那个hive实例,看错误日志: 点下面stdout,找Error

  4. Fescar使用(资料)

    fescar源码走读1:业务调用方 https://zhuanlan.zhihu.com/p/54659540   fescar源码走读2:fescar服务端 https://zhuanlan.zhi ...

  5. redis5.0集群搭建

    至少需要3个master节点,这里搭建三个master节点,并且给每个master节点在搭建一个slave节点,共6个redis节点,这里采用一台机器上创建6个redis实例,并将6个redis实例配 ...

  6. (转)终于有人把Elasticsearch原理讲透了!

    终于有人把Elasticsearch原理讲透了! 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. 来源:互联网侦察 | 2019-04-08 ...

  7. YOLOv3训练过程笔记

    本人使用的是linux平台,按照YOLO网页0https://pjreddie.com/darknet/yolo/的步骤操作进行下载darkenet程序包以及编译,之后可尝试用VOC2007的数据集测 ...

  8. type=file 上传图片限制 类型和尺寸 方法

    <form> <input type="file" name="pic" id="pic" accept="im ...

  9. 定义一个数组,并对这个数组进行动态初始化,使用sort方法进行排序后,再将数组中的元素倒置过来。

    Sort方法,生序排序 package com.fs.array; import java.util.Arrays; public class ArraySort { public static vo ...

  10. J2EE WEB应用架构分析

    1. 架构概述 J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术.这些技术的出现给电子商务时代的 ...