我们目前正在与一些出版商合作,从他们的 PDF 中生成在线书籍。我们的旧应用程序使用 flex,因此我们使用SWFTools的PDF2SWF将 PDF 转换为 SWF 文件。
我们遇到的问题是,当用户执行搜索时,我们的 flex 阅读器没有突出显示 SWF 文档中的文本。经过快速调查,我们发现在提取文本时,我们需要嵌入 PDF 文档使用的字体:
http://wiki.swftools.org/wiki/How_do_I_highlight_text_in_the_SWF%3F
pdf2swf -F $YOUR_FONTS_DIR$ -f input.pdf -o output.swf
从上面的代码可以看出,我们需要一个字体目录的路径,该目录包含在该 PDF 中找到的字体。
由于我们将转换大量的 PDF,是否可以直接通过 PDF 访问字体文件,而不是在我们的应用程序中存储大量字体?
附加信息
我们的应用程序是用 Java 编写的。
我们目前在应用程序中使用 PDFBox 和 Ghostscript,因此如果有任何解决方案使用这些库,那将是首选选项,但我们对所有想法持开放态度。