自动合法打印VitalSource Bookshelf中的电子书
最近有一本2千多页的在VitalSource中的电子书想转为PDF随时阅读,没料网上找了一圈没有找到合适的。相对好一些的只有一个用Python写的模拟手动打印。于是想到了用AutoHotkey写一个自动打印脚本来转成PDF电子书。
工具:
Windows 10 Professional - 自带Microsoft to PDF(打印后不用自动打开文件)
AutoHotkey Version 1.1.30.03 - https://www.autohotkey.com/
VitalSource Bookshelf Version 7.6.2 (10) - https://downloads.vitalbook.com/vsti/bookshelf/7.6.2/PC/Bookshelf/BookshelfSetup.exe
直接上脚本:
-----Start-----
Sleep, 5000
currentpage = 297
NextOne:
currentpage := currentpage+1
WinWait, [WinTitle]
WinActivate, [WinTitle]
Send ^p
Sleep, 10000
WinWait, VitalSource Bookshelf - Print Preview
WinActivate, VitalSource Bookshelf - Print Preview
Send {Enter}
Sleep, 500
WinWait, Print
WinActivate, Print
Send {Enter}
WinWait, Save Print Output As
WinActivate, Save Print Output As
Send !N
Sleep, 1000
Send %currentpage%
Sleep, 1000
Send !S
Sleep, 2000
WinWait, [WinTitle]
WinActivate, [WinTitle]
Send ^{PgDn}
Sleep, 1000
Goto NextOne
-----End-----
一个晚上,成功转好了一本2千多页的书。其中发现有6页左右有点问题,手动重转即可。
自动合法打印VitalSource Bookshelf中的电子书的更多相关文章
- 想请问下PDF双面打印时(打印机自动双面打印)为什么反面那页的内容是倒过来的,应该怎么设置?
用foxit reader 打印pdf 直接设置为双面打印并且一张2页打印,发现正反面刚好倒着来的,其实说的正反面倒着是从左右翻的角度来讲的,如果上下翻会发现刚好是这个顺序的,这个是要在双面打印设置里 ...
- 通常Struts框架会自动地从action mapping中创建action对象
开发者不必在Spring中去注册action,尽管可以这么去做,通常Struts框架会自动地从action mapping中创建action对象 struts2-spring-plugin-x-x-x ...
- 30天轻松学习javaweb_Eclipse在修改了web.xml后将自动更新到tomcat服务器中
context.xml中增加<WatchedResource>WEB-INF/web.xml</WatchedResource>,Eclipse在修改了web.xml后将自动更 ...
- top 自动执行的shell脚本中,使用top -n 1 > log.txt, 上电自动执行,文件无输出
. 自动执行的shell脚本中,使用top -n > log.txt, 上电自动执行,文件无输出,使用一下命令解决: //usr/bin/top -d -n -b > log.txt 如果 ...
- chrome自动填表会遮挡input中背景图的问题解决方法
在做某项目登录界面时,发现用户密码框在Chrome自动填充时,input中的背景框会被遮住.网上也搜了一下,没有一个有效的解决方法. 来看csdn的登录界面,也有这个问题. 后来在浏览网页时,无意中发 ...
- Hspice仿真打印某个子模块中所有信号信息
简单的说就是在你要打印的子模块中加一句:.probe v(*) i(*)就可以了,这个子模块的每一个实例都会被打印出来.
- PCB 电测试--测试点数自动输出到流程指示中(读取TGZ Stephdr文件)
好不容易实现了 <PCB 无需解压,直接读取Genesis TGZ指定文件 > 正好这里有一项需求:PCB电测试--测试点数自动输出到流程指示中 一.自动输出测试点小结; 1.由于历史原因 ...
- 获取并打印Spring容器中所有的Bean名称
思路: 1.实现Spring的ApplicationContextAware接口,重写setApplicationContext方法,将得到的ApplicationContext对象保存到一个静态变量 ...
- python 自动获取(打印)代码中的变量的名字字串
方法一: import inspectimport re def varname(p): for line in inspect.getframeinfo(inspect.currentframe() ...
随机推荐
- Spring管理流程部署——Activiti
pom.xml <!-- activit jar 包 --> <dependency> <groupId>org.activiti</groupId> ...
- UVA 10196 Morning Walk(欧拉回路)
Problem H Morning Walk Time Limit 3 Seconds Kamalis a Motashotaguy. He has got a new job in Chittago ...
- 写一个函数,输入int型,返回整数逆序后的字符串
刚刚看到一个面试题:写一个函数,输入int型,返回整数逆序后的字符串.如:输入123,返回"321". 要求必须用递归,不能用全局变量,输入必须是一个參数.必须返回字符串.&quo ...
- Android Camera解析(上) 调用系统相机拍摄照片
开发中我们常须要通过相机获取照片(拍照上传等).一般通过调用系统提供的相机应用就可以满足需求:有一些复杂需求还须要我们自己定义相机相关属性,下篇我们会涉及到. 首先我们来研究怎样简单调用系统相机应用来 ...
- bzoj1503: [NOI2004]郁闷的出纳员(伸展树)
1503: [NOI2004]郁闷的出纳员 题目:传送门 题解: 修改操作一共不超过100 直接暴力在伸展树上修改 代码: #include<cstdio> #include<cst ...
- hdoj--1276--士兵队列训练问题(数组模拟)
士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- 机器学习之线性分类器(Linear Classifiers)——肿瘤预测实例
线性分类器:一种假设特征与分类结果存在线性关系的模型.该模型通过累加计算每个维度的特征与各自权重的乘积来帮助决策. # 导入pandas与numpy工具包. import pandas as pd i ...
- 似然函数(likelihood function)
1. 似然函数基本定义 令 X1,X2,-,Xn 为联合密度函数 f(X1,X2,-,Xn|θ),给定观测值 X1=x1,X2=x2,-,Xn=xn,关于 θ 的似然函数(likelihood fun ...
- 【转】小白级的CocoaPods安装和使用教程
原文网址:http://www.jianshu.com/p/e2f65848dddc 百度有很多CocoaPods的安装教程.第一次看的时候,确实有点摸不透的感觉.经过思考,一步一步来实践,前后花了三 ...
- java与javascript对cookie操作的工具类
Java对cookie的操作 package cn.utils; import java.util.HashMap; import java.util.Map; import javax.servle ...