因为pdf无法复制,所以想到了先将pdf拆分,然后将图片用文字识别将其转换成文字。本文就先实现第一步,pdf的拆分
使用的是Python2
因为主要是根据别人的示例简单的修改而且比较好理解所以直接就上代码了
# -*- coding: UTF-8 -*-
import sys
import PyPDF2
import PythonMagick
import os
import shutil
#接受1个的地址对其进行分解
def breakpdf(filepath,name):
filename=filepath+name
pre=name.split(".")[0]
pdf_im = PyPDF2.PdfFileReader(file(filename, "rb"))
npage = pdf_im.getNumPages()
print('共 %d 页' % npage)
for p in range(npage):
im = PythonMagick.Image(filename + '[' + str(p) +']')
im.density('400')
#输出的文件名
name=pre+'-' + str(p)+ '.jpg'
im.write(name)
move(filepath,pre,name)
def getname():
names=[]
passname=['pdf.py']
filenames = os.listdir(os.getcwd())
for name in filenames:
if name not in passname:
names.append(name)
return names
#应该接受前缀(来创建文件夹),路径(查看是否存在该文件夹 有:移动,没有:创建移动),用文件名和要移动的路径来进行复制
def move(filepath,pre,name):
folder=filepath+pre
if not os.path.exists(folder):
os.mkdir(pre)
shutil.copy(name,folder)
if os.path.exists(name):
os.remove(name)
if __name__ == '__main__':
filepath="******"
names=getname()
for n in names:
breakpdf(filepath,n)
如果页数比较多的话,拆分会花比较长的时间。从结果上来看清晰度还是有些不够,如果有更好的方法的话,敬请告知。