2014-12-02 85 views
1

當我轉換,打印或簡單的複製粘貼pdf文檔在希伯來文我得到損壞的數字。例如在輸出中,我得到了4994-4999而不是1992-1999。甚至LibreOffice也會在這個問題上打開文檔。PDF希伯來語轉換問題

更多實例(原 - >輸出):

2008-2010 -> 9334-93.3‬ 
2011-2012 -> 4344-4344 
321390445 -> 044093223 

我嘗試這樣的方法:

  1. 複製 - 粘貼
  2. 使用的LibreOffice和Google雲端硬盤到另一個文檔
  3. 打印文檔使用命令行轉換器如pdf2txt,pdftotext,qpdf,pdftoht轉換文檔
  4. 毫升
+2

很可能PDF不包含字形所代表的字符,甚至是錯誤的信息。如果你分享一個示例文件,我們可以檢查。 – mkl 2014-12-02 15:13:45

+0

有錯誤的文檔示例:https://dl.dropboxusercontent.com/u/25681990/1992.pdf – shevayura 2014-12-03 09:07:09

回答

0

的示例文檔顯示這樣的:

enter image description here

但是從使用Adobe Acrobat導致複製&膏:

4144144714614 6991-6991

的逆轉字符的順序乍一看可能已經佔到文本已在內容流中設置爲希伯來語的語言:

/P <</MCID 0/Lang (he-IL)>> BDC 

但可能不適合多個字形錯誤地提取出來,例如原因兩年的數字19921996都被提取爲「6991」。

這樣做的真正的罪魁禍首是在這裏使用的ToUnicode表的字體:

2 beginbfchar 
<0003> <0020> 
<0010> <002D> 
endbfchar 
1 beginbfrange 
<0014> <001A> [<0036> <0031> <0034> <0034> <0037> <0031> <0034>] 
endbfrange 
1 beginbfchar 
<001C> <0039> 
endbfchar 

此表由文本提取到了Unicode代碼點的標誌符號標識符相關聯。該bfchar和bfrange節在這裏暗示的映射:

0003 -> 0020 " " 
0010 -> 002D "-" 
0014 -> 0036 "6" 
0015 -> 0031 "1" 
0016 -> 0034 "4" 
0017 -> 0034 "4" 
0018 -> 0037 "7" 
0019 -> 0031 "1" 
001A -> 0034 "4" 
001C -> 0039 "9" 

顯然,三個不同的字形映射到數字「4」和兩個不同的數字「1」。

在文本繪製操作與字形ID的渲染字形相比,雖然

[<0014001C001C0019>] TJ 
[<0010>] TJ 
[<0014001C001C0015>] TJ 
[<0003>] TJ 
[<00170019001A00170019001A001700180019001A>11<001400150016>] TJ 

表應當有這樣映射:

0003 -> " " 
0010 -> "-" 
0014 -> "1" 
0015 -> "2" 
0016 -> "3" 
0017 -> "4" 
0018 -> "5" 
0019 -> "6" 
001A -> "7" 
001C -> "9" 

對我來說這看起來像工具建立了ToUnicode表不知道如何在PDF中繪製字形或如何排列明文數字。

最右邊的年份1996的第一個字符串<0014001C001C0019>中的字形從左到右排列。如果假定字符順序或明文中的字符順序是從右到左,則會得出0014將映射爲「6」且0019爲「1」的錯誤結論。對於上面引用的文本繪製操作中的所有字符串和尚未關聯的所有字形標識的所有字符串,總結錯誤地是這樣,將會得到如PDF中的ToUnicode表所示的錯誤映射。

因此,PDF本質上是躺在哪個字形表示哪個數字。爲了解決這個問題,生產者程序(或生成ToUnicode地圖的工具)必須修復。

+0

它的ms字生成這樣的文檔。 – shevayura 2014-12-03 13:02:03

+0

有沒有辦法在軟件解析器中將這些數字轉換爲正常? – shevayura 2014-12-03 13:06:33

+0

*它的ms字* - 所以這是一個MS Word的錯誤。 *有沒有辦法在軟件解析器中將這些數字轉換爲正常* - 如上所述,** ToUnicode **映射本質上是垃圾,至少是數字。如果檢查MS Word生成的PDF文檔,可能會發現一條規則如何修復地圖。不過,這本身就是一個項目。 – mkl 2014-12-03 16:54:54