【问题标题】:How to read a .pdf file programmatically and convert it into audio (.mp3 format)?如何以编程方式读取 .pdf 文件并将其转换为音频(.mp3 格式)?
【发布时间】:2023-03-16 19:33:01
【问题描述】:

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

我特别在寻找一个好的 pdf 到文本库或从文本中去除 pdf 文件的方法。

【问题讨论】:

  • 一开始我以为这是个玩笑,然后我意识到你的意思是听文字:)
  • 我宁愿使用 Acrobat 阅读器!
  • @Zifre - 感谢上帝你澄清了这一点,我正要为此泪流满面!!
  • 我所知道的唯一方法是购买软件来做到这一点。

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


【解决方案1】:

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

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

这种 Daisy XML 格式可以是 converted to an audio format,或者您可以使用 Daisy 阅读器,一种类似于 MP3 播放器的物理设备来听书。

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

Accessible PDF to DAISY/NIMAS Conversion

【讨论】:

    【解决方案2】:

    将Festival 用于文本转语音。存在各种 pdf to text api...

    【讨论】:

    • 如何使用 Festival 生成音频文件?我仍在努力解决这个问题。
    【解决方案3】:

    您需要 Microsoft 的 Speech SDK。阅读指令here

    【讨论】:

      【解决方案4】:

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

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

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

      前段时间我一直在为游戏模组生成语音文件,因为我是一个烂配音演员。

      Cepstral 拥有我能找到的最好的 TTS 转换器。 (免费的有在演讲中插入倒谱广告的烦人倾向,但我可以手动将其编辑为我正在做的事情。)

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

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

      您如何自动将 SSML 添加到文本中有点超出我的理解。

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

              只要您不重新发明轮子,而是简单地重复使用现有技术(例如节日等文本到语音引擎)以及 OCR 引擎来处理 PDF 文件,这并不是那么复杂。

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

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

              【讨论】:

                猜你喜欢
                • 2016-02-02
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多