-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathI2S.py
66 lines (40 loc) · 1.45 KB
/
I2S.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from PIL import Image, ImageEnhance,ImageFilter
import pytesseract
import os
from gtts import gTTS
import argparse as ap
import PyPDF2 as pdf
import sys
def set_image_dpi(file_name):
im = Image.open(file_name)
length_x,length_y = im.size
factor = min(1,float(1024.0/length_x))
size = int(factor*length_x),int(factor*length_y)
im_resized = im.resize(size,Image.ANTIALIAS)
temp_file = tempFile.NamedTemporaryFile(delete = False,suffix = '.jpg')
tempfile_name = temp_file.name
im_resized.save(tempfile_name,dpi = (300,300))
return tempfile_name
parser = ap.ArgumentParser()
parser.add_argument("-image","--Image",help = "Path to image",required = False)
parser.add_argument("-pdf","--PDF",help = "Path to PDF File",required = False)
args = vars(parser.parse_args())
print("Output Audio file name:")
name = str(input())
if args["Image"] is not None:
im = Image.open(args["Image"])
txt = pytesseract.image_to_string(im)
obj = gTTS(text =txt,lang = 'en-uk',slow = False)
obj.save( name+ ".mp3")
if args["PDF"] is not None:
pdfObj = open(args["PDF"],"rb")
pdfReader = pdf.PdfFileReader(pdfObj)
for i in range(0,pdfReader.numPages):
pageObj = pdfReader.getPage(i)
txt = pageObj.extractText()
out = gTTS(text = txt,lang = 'en-uk',slow = False)
out.save(name + str(i) +".mp3")
if args["Image"] and args["PDF"] is None:
print("No args")
sys.exit()
sys.exit()