2014-03-19 53 views
0

我正在研究一個應用程序,我必須生成一個PDF文件,最終打印在指定的表單上。 我必須非常準確地瞭解生成的PDF文件上每個信息的X和Y座標,以便將其打印在目標表單上的正確位置。 我的問題是,當我實際上打印這個PDF文件在所需的形式,信息正在打印通過不同的PDF版本打印在不同的座標。對我來說,這是一個非常奇怪的問題,爲什麼同一個生成的PDF文件被打印在不同的X-Y座標上。 任何想法如何我可以解決這個問題編程或其Adobe Reader的問題?不同的PDF版本在不同的座標上打印相同的信息

+0

*通過不同的PDF版本打印* - 你真的意味着不同的PDF版本?或者你的意思是不同的Adobe Reader版本? – mkl

+0

我的意思是「不同的Adobe Reader版本」 – bilal

回答

0

從理論上講,它應該沒有任何區別 - 正如您知道PDF座標系非常明確,基於(0,0)是頁面的左下角。

這裏是事情變得有趣的地方。 當您打印時,Acrobat會根據打印機/打印驅動程序決定如何打印文檔,並且(當我說'是'時,我的意思是,這是真的,當我最後在1999年進行處理時)。它應該在清洗時都是一樣的,但是代碼會根據打印機是否具有PostScript(以及哪個版本)或其他方式經歷不同的路徑。在「別的東西」類別中,Acrobat必須將頁面柵格化爲一個大圖像,以及它如何光柵化取決於打印機作爲頁面的真實可打印區域以及它的名義分辨率宣傳什麼。如果Acrobat改變了這些信息的解釋方式(因爲這是錯誤的),那麼頁面看起來會有所不同。

這是你真正的考驗。例如,在1英寸或1/2英寸的邊界上製作一個帶有網格的文檔,並用標記(36,36)來定位邊角。用兩種版本的Acrobat打印該文檔,看看它們是否排隊(並且我會用尺子檢查)。如果它們排隊,然後在已知位置用文本重做文檔。如果它們仍然排隊,那麼問題可能出現在您的代碼中(例如,不會以足夠的精度生成座標,並結合導致舍入錯誤的許多複合轉換)。

+0

非常感謝您的回答。 – bilal

相關問題