2010-09-02 117 views
0

我有一个PDF文档,其中只包含需要保存到MSSQL中的varchar列的文本。第一个问题是,PDF中文本的间距也需要保留,这不能简单地通过从PDF复制粘贴到SSMS来完成。从PDF中提取文本并将其保存到数据库 - 保留间距

好吧,所以我需要一个应用程序来读取PDF文本,同时保持间距。但现在第二个问题就出现了:PDF以Helvetica字体呈现,但保存在数据库中的文本将以水晶报表(Crystal 8 ... bleh)的Arial形式显示,并且在显示时,它需要看起来像PDF(即相同的路线)尽可能。

我提出的解决方案是将PDF转换为矢量图像,将生成的字节流保存到数据库中,并通过Crystal将字节拖入。不幸的是,由于时间的限制,现在还不能实施,所以我需要一个快速而肮脏的解决方案。

从本质上讲,一旦我从PDF获得Helvetica版本,我必须仔细研究间距以将其转换为在Arial中看起来正确。我需要一个能够为我做的工具,因为我没有时间写一个 - 有什么建议吗?

+0

我不得不问:为什么你要这么长时间都需要做的是将你的水晶格式改成黑体?坚持特定字体的最终用户? – PowerUser 2010-09-02 13:19:32

+0

@PowerUser:是:( – 2010-09-02 13:28:38

+0

啊。您的问题与最终用户有关,您需要更好的最终用户。问题已解决:P – PowerUser 2010-09-02 16:22:33

回答

0

您的Crystal版本处理动态图像位置吗?如果是这样,你可以保存PDF图像(我确定这里有一个实用程序),并在你的Crystal Report中创建一个图像对象,图像位置设置为你想要的任何PDF。

0

恐怕这是一个用户教育问题:Arial字体中的输出与Helvetica字体的输出间隔不同。这需要向用户解释。

参考Rathergate - http://en.wikipedia.org/wiki/Rathergate - 可能有助于说服他们;从本质上讲,Dan Rather的职业生涯结束了,因为他不了解字体间距在不同字体中的意义。 (/过简化)

另一种方法可能是使用字体编辑器来保存具有Helvetica间距属性的Arial字体的版本,然后在报告中使用这种新字体 - 这实际上是一个混乱,它会看起来很糟糕,可能会违反字体的版权(大概是微软拥有的)。我真的不会推荐它。

相关问题