我正在尝试在我的网页中使用PDF内容(数学)。我基本上想将PDF转换为一些矢量图像。将PDF转换为SWF可以很好地完成工作,但由于并非每个平台都支持Flash,因此我正在寻找另一种解决方案。我了解到SVG,但是由于这些PDF包含大量数学公式,我发现的转换器的结果非常丑陋和不正确。我也考虑过重新输入LaTeX,并使用MathJax显示它,以某种方式这是最好的解决方案,但也非常耗时。我想要的唯一一件事就是将其转换为漂亮的矢量图像,我不想改变内容或其他任何东西。除了转换为SWF或重新输入之外,是否还有其他解决方案?编辑: 这是SVG输出 output 这是原始的PDF文件 pdf
我能找到的唯一解决方案是使用Illustrator。 只需打开PDF,保存为SVG,并选择嵌入所有使用的字形。 结果完美无缺: https://dl.dropboxusercontent.com/u/58922976/Sol-10.1.svg
你的PDF存在一些困难,这可能不是很明显。问题的核心在于文档中的某些图形实际上是使用自定义字形绘制的。如果你从Acrobat中复制和粘贴文本,就可以看到这一点。里面有各种不寻常的字符,似乎没有任何有用的目的。这就是SVG底部带有EEs和FFs方块的原因。然而,这些字符实际上是用于底部矩阵周围的大括号等自定义字形。所以它们既非常重要,也非常特定于此文档。我尝试使用ABCpdf .NET将你的PDF转换为SVG。除了底部的自定义字形外,它工作得很好。输出约为90KB。它看起来与你的inkscape SVG输出非常相似,但只是稍微小一些(inkscape的大小为160KB)。摆脱这些非Unicode字形的唯一方法是将文本矢量化。我使用ABCpdf进行了这个操作,并且在SVG中输出看起来很好。但是...矢量化文本很大,而SVG并不是特别高效的媒介。输出约为1MB!压缩后可以减少到一半,但仍远不及原始PDF高效。我看到的问题无论你使用什么格式都是普遍存在的。这些自定义字符在输出到SVG、SWF、HTML canvas、VML或任何矢量格式时都会有问题。那么我会建议什么呢?好吧,显而易见,在Web上广泛使用的矢量格式是... PDF!我知道这不完全符合你的要求,但考虑到以上限制,我认为这是现实的解决方案。 :-)