如何以编程方式读取.pdf文件并将其转换为音频(.mp3格式)?

时间:2009-06-06 13:34:41

标签: c# .net c++ mfc text-to-speech

我想从我的C#应用​​程序解析PDF文件并创建一个音频文件。 我该怎么做?

我特别想找一个好的pdf文本库或者从文本中删除pdf文件的方法。

8 个答案:

答案 0 :(得分:5)

您最好将tagged PDF文档作为输入文档。这意味着该文档包含用于标记文档逻辑结构的标记(通常PDF文档仅包含可视信息)。

然后可以将此PDF转换为DAISY格式,这是数字通话书籍的标准,即存储书籍文本以及逻辑结构和导航功能的中间XML格式。

这种Daisy XML格式可以是converted to an audio format,也可以使用Daisy阅读器,像MP3播放器这样的物理设备来听书。

Daisy网站上有一个演示文稿,解释了这个工具链的原理:

  

Accessible PDF to DAISY/NIMAS Conversion

答案 1 :(得分:4)

使用Festival进行文字转语音。各种pdf到文本api存在......

答案 2 :(得分:2)

您需要Microsoft的Speech SDK。阅读说明here

答案 3 :(得分:2)

正如其他海报所述,首先你必须从.pdf文件中提取文本。 pdf文件现在是一种开放格式,因此您可以通过Google找到解析器。

然后你必须从文件中提取你想要转换为语音的文本,忽略图标题,页眉,目录等内容。

获得文本后,需要将其转换为语音。这可能是最难的部分。

不久之前,我正在为游戏模式生成语音文件,因为我是一个腐烂的配音演员。

Cepstral拥有我能找到的最好的TTS转换器。 (免费的人在演讲中插入Cepstral广告有一种恼人的倾向,但是我可以手动编辑这个广告来做我正在做的事情。)

事实证明,有一种语音合成标记语言,可以用来为TTS转换器提供关于哪个音节放置重音等的线索。这里有一个链接:

http://www.w3.org/TR/speech-synthesis/

如何自动将SSML添加到文本中有点超出我的想法。

无论如何,TTS转换器将产生一个音频文件,最后一步是以mp3格式以所需的比特率压缩音频。

答案 4 :(得分:2)

如果您的唯一任务是从PDF中聆听语音合成文本,那么“查看”菜单底部的Acrobat“朗读”功能如何?

答案 5 :(得分:0)

我想这很难做到。首先,您需要阅读该pdf中的文本,然后使用合成语音生成的某种机制来创建音频内容。然后你必须把它存储为mp3。

答案 6 :(得分:0)

在Mac OS X上,您可以提取pdf的文本,然后将其输入“say”。您应该在其他操作系统上找到等效的合成器。

答案 7 :(得分:0)

要做到这一点并不是那么复杂,只要你不重新发明轮子,而只是重复利用现有技术(即文本到语音引擎,如节日),以及处理PDF文件的OCR引擎。

最复杂的可能是处理不同的PDF布局(列,行,嵌入图形,脚注,URL等),这可能会混淆文本识别过程。

然而,总的来说(如果这不应该是一种学习经验),使用现有的软件解决方案肯定更容易: