【问题标题】:Extract text from a PDF and save it to a database - preserving spacing从 PDF 中提取文本并将其保存到数据库 - 保留间距
【发布时间】:2011-04-07 08:05:00
【问题描述】:

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

好的,所以我需要一个应用程序来将 PDF 作为文本读取,同时保留间距。但是现在第二个问题出现了:PDF 以 Helvetica 字体呈现,但保存到 DB 中的文本将在 Crystal Report (Crystal 8...bleh) 上以 Arial 显示,当显示时,它需要看起来像PDF(即相同的对齐方式)尽可能。

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

基本上,一旦我从 PDF 中获得 Helvetica 版本,我就必须调整间距以使其在 Arial 中看起来正确。我需要一个可以为我做这件事的工具,因为我没有时间写一个 - 有什么建议吗?

【问题讨论】:

  • 我不得不问:当您必须将 Crystal 格式更改为 Helvetica 时,您为什么要花这么多时间?最终用户是否坚持使用某种字体?
  • 啊。您的问题在于最终用户。您需要更好的最终用户。问题解决了:P
  • 很遗憾,我没有选择用户、环境,也没有选择 Crystal 中的报告。

标签: pdf text crystal-reports formatting fonts


【解决方案1】:

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

对拉特盖特的引用 - http://en.wikipedia.org/wiki/Rathergate - 可能有助于说服他们;本质上,丹·拉瑟的职业生涯已经结束,因为他不了解不同字体中字符间距的意义。 (/过度简化)

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-10-27
      • 2021-12-24
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多