提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
分为2个部分,
import pyttsx3,PyPDF2
代码如下(示例):
import pyttsx3,PyPDF2
pdfreader = PyPDF2.PdfReader(open('zhenyefu - 副本.pdf', 'rb'))
#将所有的文字放在textwra里,我转的pdf,30多万字,直接放在字符串里没有问题
textwra=''
for page_num in range(len(pdfreader.pages)):
text = pdfreader.pages[page_num].extract_text()
cleaned_text = text.strip().replace('\n',' ')
textwra=textwra+cleaned_text
如何在Python中将字符串划分为“n”部分
文本转换为语音——pyttsx3模块的使用
代码如下(示例):
def remix(str1, x):
"""分割常字符串的 因为字符串太大了,我这里需要切割"""
stride1, mod = divmod(len(str1), x)
print(stride1,mod)
parts = [str1[i * stride1:(i + 1) * stride1] for i in range(x)]
parts[-1] = parts[-1] + str1[-mod]
return parts
text_list=remix(textwra,5)
for i in range(len(text_list)):
print(f'在完成第{i+1}部分,字符串的长度是{len(text_list[i])}')
speaker.save_to_file(text_list[i], f'test_test{i+1}.mp3')
speaker.runAndWait()
speaker.stop()
完整的代码如下:
import pyttsx3,PyPDF2
# pdfreader = PyPDF2.PdfReader(open('zhenyefu.pdf', 'rb'))
pdfreader = PyPDF2.PdfReader(open('zhenyefu - 副本.pdf', 'rb'))
speaker = pyttsx3.init()
print(len(pdfreader.pages))
def remix(str1, x):
"""分割常字符串的"""
stride1, mod = divmod(len(str1), x)
print(stride1,mod)
parts = [str1[i * stride1:(i + 1) * stride1] for i in range(x)]
parts[-1] = parts[-1] + str1[-mod]
return parts
textwra=''
for page_num in range(len(pdfreader.pages)):
text = pdfreader.pages[page_num].extract_text()
cleaned_text = text.strip().replace('\n',' ')
textwra=textwra+cleaned_text
print(len(textwra))
text_list=remix(textwra,5)
for i in range(len(text_list)):
print(f'在完成第{i+1}部分,字符串的长度是{len(text_list[i])}')
speaker.save_to_file(text_list[i], f'test_test{i+1}.mp3')
speaker.runAndWait()
speaker.stop()