有一批PDF文件,好几百个,每个只打印第2,3页,双面打印。

网上搜索一波,方案如下:

安装Ghostscript,GhostView,使用gsprint命令打印pdf文件。

gsprint命令参数说明:

"-dQUIET",    安静的意思,指代执行过程中尽可能少的输出日志等信息。(也可以简写为“-q”)
     "-dNOSAFER",    通过命令行运行
     "-dBATCH",    执行到最后一页后退出
     "-dNOPAUSE",    每一页转换之间没有停顿
     "-dNOPROMPT",    没有相关提示
     "-dFirstPage=1",    从第几页开始
     "-dLastPage=5",     到第几页结束
     "-sDEVICE=pngalpha",    转换输出的文件类型装置,默认值为x11alpha
     "-g720x1280",    图片像素(-g<width>x<height>),一般不指定,使用默认输出
     "-r300",    图片分辨率(即图片解析度为300dpi),默认值好像是72(未测试证实)
     "-sOutputFile=/opt/shanhy/error1png/%d.png",    图片输出路径,使用%d或%ld输出页数

比如打印c.pdf第2,3页,命令如下

gsprint -dFirstPage=2 -dLastPage=3 c.pdf

大部分pdf只打印第2,第3页,双面打印,所以用python控制批量打印所有pdf的第二页,暂停,提示翻页,然后批量打印第三页。

完整代码如下

# -*- coding: utf-8 -*-
import os
import time def print_pdf(pdf_file_name, page):
"""
静默打印pdf
:param pdf_file_name
:page 打印第几页
:return:
"""
cmd = 'gsprint -dFirstPage=%s -dLastPage=%s %s' % (page, page, pdf_file_name)
print(cmd)
p = os.popen(cmd)
time.sleep(3)
print(p.read()) if __name__ == '__main__':
curr_path = os.getcwd()
fl = os.listdir(curr_path)
for i in range(2,4):
print(i)
for f in fl:
if 'pdf' in f.lower():
print_pdf(f, i)
a = raw_input('请翻转打印纸')

ghostscript下载地址:

https://www.ghostscript.com/download.html

ghostview下载地址:

http://www.onlinedown.net/soft/6218.htm

python 批量打印PDF的更多相关文章

  1. C#调用Python脚本打印pdf文件

     介绍:通过pdf地址先将文件下载到本地,然后调用打印机打印,最后将下载的文件删除. 环境:windows系统.(windows64位) windows系统中安装python3.6.2环境 资料: O ...

  2. 使用Python批量合并PDF文件(带书签功能)

    网上找了几个合并pdf的软件,发现不是很好用,一般都没有添加书签的功能. 又去找了下python合并pdf的脚本,发现也没有添加书签的功能的. 于是自己动手编写了一个小工具,使用了PyPDF2. 下面 ...

  3. Python代码教你批量将PDF转为Word

    很多时候在学习时发现许多文档都是PDF格式,PDF格式却不利于学习使用,因此需要将PDF转换为Word文件,但或许你从网上下载了很多软件,但只能转换前五页(如WPS等),要不就是需要收费,那有没有免费 ...

  4. vue项目中使用Lodop实现批量打印html页面和pdf文件

    1.Lodop是什么? Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现复杂打印.控件功能强大,却简单易用,所有调用如同JavaScript扩 ...

  5. winfrom 实现条形码批量打印以及将条形码信息生成PDF文件

    最近,老大让给客户做个邮包管理程序.其中,包括一些基本信息的增.删.查和改,这些倒不是很难搞定它分分钟的事.其主要难点就在于如何生成条形码.如何批量打印条形码以及将界面条形码信息批量生成以其各自的 b ...

  6. 将python代码打印成pdf

    将python代码打印成pdf,打印出来很丑,完全不能看. mac下:pycharm 编辑器有print的功能,但是会提示: Error: No print service found. 所以需要一个 ...

  7. 个人永久性免费-Excel催化剂功能第50波-批量打印、导出PDF、双面打印功能

    在倡导无纸化办公的今天,是否打印是一个碍眼的功能呢,某些时候的确是,但对于数据的留存,在现在鼓吹区块链技术的今天,仍然不失它的核心价值,数据报表.单据打印出来留存,仍然是一种不可或缺的数据存档和防篡改 ...

  8. Python将word文档批量转PDF

    前面有一篇<Python批量创建word文档(2)- 加图片和表格>的文章,利用这篇文章创建的word文档来批量转PDF文档.代码: 1 ''' 2 #python批量将word文档转换成 ...

  9. C#使用iTextSharp+ZXing.Net+FreeSpire.PDF生成和打印pdf文档

    项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.Net+FreeSpire.PDF三个类库实现了生成pdf.生成条形码和打印pdf功能. 首先在项 ...

随机推荐

  1. python语法入门之变量

    目录 一.变量 1.1 什么是变量 1.2 怎么使用变量 1.3 变量名的命名规范 1.4 变量名的命名风格 1.5 变量的三大特征 2.常量 一.变量 1.1 什么是变量 # 变量就是可以变化的量, ...

  2. AutoIt实现软件自动化安装

    AutoIt下载安装 1.下载:https://www.autoitscript.com/site/autoit/downloads/ 2.安装,一直点下一步 3.安装好可以看到开始菜单如下(需要用到 ...

  3. PHP设计模式 - 备忘录模式

    备忘录模式又叫做快照模式(Snapshot)或 Token 模式,备忘录模式的用意是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在合适的时候将该对象恢复到原先 ...

  4. Resharper速度慢解决办法

    Reshaper很好用,但是安装后速度特别慢,大部分情况下,我们只需要使用一些插件功能,代码自动分析功能可以关闭,如图:取消Code analysis即可.

  5. JVM中内存的设置和分配(最大内存,总内存,剩余内存的区别)

    1.设置分配的内存大小 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -vmargs 说明后面是VM的参数,所以后面的 ...

  6. python 通过Sybase ASE ODBC Driver访问sybase数据库,无需配置DSN【自己整理的】

    Python语言对于开发工程师或者测试工程师来说,应该是最高效的开发语言之一.但python访问sybase数据库的资料相对少见.而且sybase字符集为GB1803时,python访问sybase库 ...

  7. golang(一)

    开篇先来个Go语言的吉祥物-金花鼠Gordon. golang是谷歌2009年发布的开源编程语言,截止目前go的release版本已经到了1.10.go语言的开发人员都是计算机界大神一般的存在: Th ...

  8. CF241E Flights 差分约束

    传送门 差分约束永远是Itst最烂的图论知识点没有之一qwq 先用dfs把在\(1\)到\(N\)的路径上的所有点都拿出来,其他的点和边状态任意都不会影响答案. 然后考虑设\(dis_i\)表示从\( ...

  9. ArcGIS Engine开发鹰眼图的功能(代码优化篇)

    在上一篇,ArcGIS Engine开发鹰眼图的功能(基础篇) 上一篇的实现效果图如下, 如果仔细观察,会发现一个问题,即在“鹰眼”的区域,只要在红色线框内的注记会被覆盖. 如果红色框包括整张图的话, ...

  10. 环境变量-path

    配置的是bin二进制可执行程序,用于系统查找程序的位置