2015-07-13 73 views
0

我有這樣的代碼,其轉換PDF到文本文件:Ghostscript的轉換PDF文本,並保持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。

此外,我很樂意爲其他人提供建議來存檔它。

乾杯

回答

0

沒有一個「表格式」以PDF,只是一個文本和位置的序列。 txtwrite可能的輸出格式之一將嘗試創建一個Unicode文本文件,其中間距由空格字符重新創建。請注意,這是假設一個固定間距的字體,所以如果你不使用它,它將不會工作。

沒有看到輸入的PDF文件,它不可能做出任何猜測,爲什麼這不會產生你期望的輸出。

你可以自己解決這個問題。首先,因爲還有其他潛在的輸出格式,其中之一是一種類似XML的格式,可以發送文本序列和位置,您可以使用它並自己重新創建格式(甚至可以直接將其直接歸檔)。另外,由於Ghostscript是開源的,您可以自己閱讀和調試源代碼,並找出PDF文件導致問題的原因。

相關問題