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. 转发:C#操作SQL Server数据库

    转发自:http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html 1.概述 2.连接字符串的写法 3.SqlConnection对象 ...

  2. MyEclipse项目里面出现红叉的解决方案?

    一般出现在从别处import的项目上,只有项目文件夹上有红叉,其他地方都正常,现总结个人的几个解决方案:   有几种可能: 1,编码设置是否一致,也即是你项目原来的编码和现在eclipse用的默认编码 ...

  3. "留拍"-注册/登录详解

    1. 注册 打开 “留拍” 软件,进入 主页面 ,然后按 注册 按钮: 在注册页面什么内容 都没有写 上去的情况下,按 完成 按钮: 首先把URL封装起来: public class URL { pu ...

  4. css3 @media 实现响应式布局

    使用css3的@media,可以实现针对不同媒体.不同分辨率的响应式布局. 方法1:根据不同分辨率使用不同css文件 <link rel="stylesheet" media ...

  5. ASP.NET MVC缓存使用

    局部缓存(Partial Page) 1.新建局部缓存控制器: public class PartialCacheController : Controller { // GET: /PartialC ...

  6. [CB转帖]台湾晶圆厂产能居全球第一 大陆排名第五但增长最多

    台湾晶圆厂产能居全球第一 大陆排名第五但增长最多 据台湾地区媒体报道,近日市场调查机构IC Insights发布了各个地区或国家晶圆厂月产能排名,其中台湾地区排名第一,韩国排名第二,日本排名第三,美国 ...

  7. Java中对域和静态方法的访问不具有多态性

    1.将方法调用同方法主体关联起来被称为 2.编译期绑定(静态)是在程序编译阶段就确定了引用对象的类型 3.运行期绑定(动态绑定)是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法 ...

  8. Mysql性能优化二:索引优化

    1 索引的类型 UNIQUE唯一索引 不可以出现相同的值,可以有NULL值. INDEX普通索引 允许出现相同的索引内容. PRIMARY KEY主键索引 不允许出现相同的值,且不能为NULL值,一个 ...

  9. mysql关于binlog日志的操作

    查看binlog日志选项和存储位置: mysql> show variables like 'log_%'; 1.查看所有binlog日志列表 mysql> show master log ...

  10. ef 问题汇总

    持续更新: 一  属性重命名 数据库:UserName Model: [Column("UserName")]public string UserName222 二, 某表多个外键 ...