0

我有将 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

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

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

此外,我愿意接受其他方式归档它的建议。

干杯

4

1 回答 1

0

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

在没有看到输入 PDF 文件的情况下,实际上不可能猜测为什么它没有像您期望的那样产生输出。

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

于 2015-07-13T07:05:49.840 回答