【问题标题】:Ghostscript to convert pdf to text and keep PDF file table formatGhostscript将pdf转换为文本并保持PDF文件表格格式
【发布时间】:2015-07-13 04:03:26
【问题描述】:

我有这段代码可以将 PDF 转换为文本文件:

gswin32c -dBATCH -dNOPAUSE -dSAFER -dDELAYBIND -dWRITESYSTEMDICT 
-dSIMPLE -sDEVICE=txtwrite -dTextFormat=2 -dFirstPage=1 -dLastPage=1 
-sOutputFile=C:\out.txt C:\in.pdf

它几乎可以正常工作,唯一它不保持 PDF 表格格式。

例子:

在 PDF 文件中:

Type    From        Name             Name2                   Code         Week
Regular 30/03/15    KNOWLES, BEN     HOOT KNOWLES, ANGELA    367-739-746  80.00       
Regular 30/03/15    RICHARDS, COLE   ROBERT HARRIS, BRADIE   401-844-307  108.00      
Regular 30/03/15    SKEELS, MATT     BISHOP, JASON GREGSON   413-980-291  112.00

将其转换为文本文件后,文本会像这样包装:

Type From Name Name2 Code Week
Regular30/03/15KNOWLES, BENHOOT KNOWLES, ANGELA367-739-74680.00       
Regular30/03/15RICHARDS, COLEROBERT HARRIS, BRADIE401-844-307108.00      
Regular30/03/15SKEELS, MATTBISHOP, JASON GREGSON413-980-291112.00

我需要它来保持其格式。知道如何保持格式吗?

我在 windows 7 机器上使用Ghostscript gswin32c,版本是 9.16。

另外,我愿意接受其他方式存档的建议。

干杯

【问题讨论】:

    标签: pdf ghostscript ghostscriptsharp


    【解决方案1】:

    在 PDf 中没有“表格格式”,只有一系列文本和位置。 txtwrite 的一种可能的输出格式尝试创建一个 Unicode 文本文件,其中的间距由空格字符重新创建。请注意,这假定使用的是固定间距字体,因此如果您不使用它,它将无法正常工作。

    在没有看到输入 PDF 文件的情况下,实际上无法猜测为什么它没有按预期产生输出。

    您可以自己解决这个问题。首先,因为还有其他潜在的输出格式,其中一种是类似 XML 的格式,它发出文本序列和位置,您可以使用它并自己重新创建格式(甚至直接存档)。或者,由于 Ghostscript 是开源的,您可以自己阅读和调试源代码并找出您的 PDF 文件导致问题的原因。

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 2015-01-11
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      相关资源
      最近更新 更多