pyautogui_pdf批量转换为TXT,

用pdf自带无损转换

# -*- coding: utf-8 -*-
"""
Created on Thu May 5 15:39:54 2016 一定要有time.sleep(1)时间控制,否则出错
pdf另存文本,效果可能很差
typewrite("content") 用于输入文字
typewrite(["right","left","up"]) 用于输入连续键盘按钮
@author: daxiong
""" import pyautogui,time,os dir_file="C:/Users/daxiong/Desktop/test"
#获取文件夹的文件名
fileNames=os.listdir(dir_file) #打开存储PDF软件;(50,50)为pdf坐标
pyautogui.doubleClick(50,50)
time.sleep(1) for fileName in fileNames:
#打开第一个PDF,按热键Ctrl+o即可
pyautogui.hotkey("ctrl","o")
time.sleep(1)
#输入PDF文件名,并进入
pyautogui.typewrite(fileName)
time.sleep(1)
pyautogui.press("enter")
time.sleep(1)
#另存为纯文本
pyautogui.hotkey("shift","ctrl","s")
time.sleep(1)
pyautogui.press("tab") #切换到下面的保存格式
time.sleep(1)
pyautogui.press("down")
time.sleep(1)
pyautogui.typewrite(["down","down","down","down","down","down","down","down"\
,"down","down","down","down","down","down","down","down","down","down"\
,"down","down","enter"]) #选择储存路径
pyautogui.press('f4') #定位地址栏
time.sleep(1)
pyautogui.hotkey("ctrl","a") #选中内容
time.sleep(1)
pyautogui.press('delete') #删除旧的地址
time.sleep(1)
pyautogui.typewrite(dir_file)
time.sleep(1)
#连续按下10个tab就到保存按钮
pyautogui.typewrite(["tab","tab","tab","tab","tab","tab","tab","tab","tab",\
"tab","enter"])
#关闭PDF,组合键ctrl+w
time.sleep(2)
pyautogui.hotkey("ctrl","w") pyautogui.hotkey("ctrl","q")

  

办公室电脑测试代码

pdf_to_txt

# -*- coding: utf-8 -*-
"""
Created on Thu May 12 11:22:57 2016
pdf更换为最新版本,尝试提高转换成功率。
txt必须转换为纯文本格式
等待时间必须和pdf页码数匹配
@author: Administrator
""" import pyautogui,time,os,PyPDF2 dir_file="C:/Users/Administrator/Desktop/test/pdf/"
#获取文件夹的文件名
fileNames=os.listdir('.')
pdf_fileNames=[i for i in fileNames if os.path.splitext(i)[1]==".pdf"] def Get_time(filename):
try:
pdfFileObj=open(filename,'rb')
pdfReader=PyPDF2.PdfFileReader(pdfFileObj)
pages=pdfReader.numPages #显示页数 在第4100行时读取pdfReader也会出错 except:
print ("wrong when read pdf:",filename)
sleepTime=10
return sleepTime if pages<=10:
sleepTime=pages+2
else:
sleepTime=15 return sleepTime #打开存储PDF软件;(50,50)为pdf坐标
pyautogui.doubleClick(50,50)
time.sleep(3) for fileName in fileNames:
#打开第一个PDF,按热键Ctrl+o即可
pyautogui.hotkey("ctrl","o")
time.sleep(1)
#输入PDF文件名,并进入
pyautogui.typewrite(fileName)
time.sleep(2)
pyautogui.press("enter")
time.sleep(1)
#另存为纯文本
pyautogui.hotkey("shift","ctrl","s")
time.sleep(1)
pyautogui.press("tab") #切换到下面的保存格式
time.sleep(1)
pyautogui.press("down") time.sleep(1)
#不准确
pyautogui.typewrite(["down","down","down","down","down","down","down","down"\
,"down","down","down","down","down","down","down","down","down","down","enter","enter"]) sleepTime=Get_time(fileName)
#关闭PDF,组合键ctrl+w
time.sleep(sleepTime)
pyautogui.hotkey("ctrl","w") pyautogui.hotkey("ctrl","q")

  

txt 文件包提取到excel

# -*- coding: utf-8 -*-
"""
Created on Thu May 12 14:05:06 2016
1.先用filenameToExcel.exe程序导入文件名
2.B11写入me_txt
3.批量写入内容 list不能写入cell,str才可以.txt必须是纯文本格式
@author: Administrator
""" import PyPDF2,os,openpyxl,sys,time,xlrd
from openpyxl.cell import get_column_letter,column_index_from_string #开始时间
timeBegin=time.clock()
excelFileName="test.xlsx"
wb=openpyxl.load_workbook(excelFileName)
sheet=wb.active
columnIndex="A"
start=1
expandName=".txt"
expandName_upper=expandName.upper() excelFile = xlrd.open_workbook(excelFileName)
table = excelFile.sheet_by_index(0) #通过索引顺序获取
#A列的单元格
cells_columnA=sheet.columns[0]
#B列单元格
cells_columnB=sheet.columns[1] #content="你好" def Get_col_values(i):
list_col_values=table.col_values(i)
list_col_values1=list_col_values[1:]
return list_col_values1 def single_txt_extract(filename,i):
try:
txtFileObj=open(filename)
#不知道readlines()效果和readline相比如何,要测试
content=txtFileObj.read() except:
print ("wrong when read txt:",filename) cells_columnB[i+1].value=content #list不能写入cell,str才可以.txt必须是纯文本格式
txtFileObj.close() list_pdf_fileNames=Get_col_values(0) single_txt_extract("1151.txt",0) wb.save(excelFileName)

  

pyautogui_pdf批量转换为TXT的更多相关文章

  1. 如何将lrc歌词文件批量转换为ANSI编码?

    有些MP3.MP4或学习机只能播放ANSI编码的歌词文件,可是从网站上下载的歌词大多是UTF-8或者其它机器支持不了的编码,如何批量将这些lrc歌词文件转换成ANSI编码的文件呢? 工具/原料 萍客T ...

  2. Bilibili手机端下载的Download文件批量转换为MP4软件【Bilibili_DownVideoToMp4】原创发布

    Bilibili手机端下载的Download文件批量转换为MP4软件[Bilibili_DownVideoToMp4]原创发布 起因 Bilibili手机端的视频下载下来只能在手机上看,手机屏幕太小看 ...

  3. 【百度地图API】如何批量转换为百度经纬度

    原文:[百度地图API]如何批量转换为百度经纬度 摘要: 百度地图API的官网上提供了常用坐标转换的示例.但是,一次只能转换一个,真的非常麻烦!!这里结合了官方的示例,自制一个批量转换工具,供大家参考 ...

  4. C# CAD批量转换为图片

    最近写了个工具,将指定目录下的CAD文件批量转换为图片格式. 首先需要添加对应的引用 : 在AutoCAD2008的环境下对应AutoCAD 2008 Type Library 和 AutoCAD/O ...

  5. 多表批量导出txt及打压缩包下载

     在一些特殊的业务系统中,有些客户查看报表数据时不需要在浏览器上逐一查看,需要在页面端选择要查看的报表名称(可多选),选择条件,然后将所选中的报表批量导出到txt文件中并且要把批量导出的结果文件打 ...

  6. 如果把PNG、JPG、BMP和GIF文件批量转换为ICO文件?

    有时候需要将大量的图片文件(比如PNG.JPG.BMP和GIF文件)批量转换为ICO图标文件,如果一个一个操作,非常费时间.本文将介绍如何用Dr. Folder软件快速批量转换图片文件为ICO图标文件 ...

  7. R语言笔记004——R批量读取txt文件

    R批量读取txt文件 本文数据,代码都是参考的是大音如霜公众号,只是自己跟着做了一遍. path<-'C:\\Users\\Administrator\\Desktop\\docs' docs& ...

  8. python批量创建txt文件,以demo.txt内的内容为文件名

    #批量创建txt文件import sys,osa=open("demo.txt")n=0aList=[]for line in a.readlines(): aList.appen ...

  9. linux格式批量转换为dos格式

    注:写的只是基本知识,望高手勿喷,写这个不是为了炫耀,只是为了方便其他人,仅此而已. 一:脚本功能: 批量处理目录以及子目录下的文件格式问题,能够轻易的将linux格式转换为dos格式. 二:写此博客 ...

随机推荐

  1. linux第四次读书笔记

    第四章:进程调度 一.多任务 1.非抢占式多任务 进程会一直执行直到自己主动停止运行(这一步骤称为让步) 2.抢占式多任务 Linux/Unix使用的是抢占式的方式:强制的挂起进程的动作就叫做抢占.进 ...

  2. 毕设之c#多线程学习(官方+转载)

    官方文档,原址:打开 如何:对 Windows 窗体控件进行线程安全调用   使用多线程提高 Windows 窗体应用程序的性能时,必须注意以线程安全方式调用控件. 示例 访问 Windows 窗体控 ...

  3. HTML 5 placeHolder

    <html> <body> <input type="text" id="idNum" placeholder="pla ...

  4. [转载]Linux目录说明

    原作者博客: http://blog.51cto.com/yangrong/1288072 将文字部分转移到自己的目录下便于学习记录 感谢~ 2./目录 目录 描述 / 第一层次结构的根.整个文件系统 ...

  5. Delphi编码规范

    以下是在之前的公司与别人共同参与制定的Delphi开发规范(5年前了,那时用的还是Delphi7,部分规则可能有些过时,但不整理了,觉得有用的人,自己整理成适合自己的开发规范吧), 目    录一.序 ...

  6. jsp servlet 的 请求转发和重定向

    以前对于servlet和servlet/jsp之间的跳转路径问题感到很迷惑,今天亲自动手实验了一把,总结如下: servlet已经是项目根路径下面的资源了,所以servlet跳转的时候,在跳转路径上面 ...

  7. windows编程按小时生成日志文件

    这是一个简单的日志记录方法,为了避免单个日志文件过大,所以每个小时生成一个新的日志文件 注意:g_pLogPath 可以带路径,但是必须手动创建好路径,保证目录存在.而且要详细到log文件名,不能带后 ...

  8. [代码]--C#action和func的使用

    以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发 ...

  9. share.js轻松分享/邀请

    GitHub地址 https://github.com/overtrue/share.js 安装 安装的方法很多,大家选择自己合适的进行安装就好. clone $ git clone https:// ...

  10. ASP.NET MVC5使用Area区域

    转载:http://www.lanhusoft.com/Article/217.html 在大型的ASP.NET mvc5项目中一般都有许多个功能模块,这些功能模块可以用Area(中文翻译为区域)把它 ...