2017-02-21 41 views
5

我無法讓我的PDF與Adobe Reader DC在線聯機。PDF JavaScript在Adobe Reader DC中無法使用,但所有其他讀者

http://www.okeechobeecountytaxcollector.com/Documents/FeeCalculatorRev0909.pdf

的按鈕或功能性沒有正在工作。 (就像當你點擊motorvehicles,或移動房屋或頂部的任何按鈕,應該會出現選擇的下拉菜單)但是,如果我在任何其他閱讀器中打開它可以正常工作。有誰知道我可以如何編輯文檔以在Adobe Reader DC中正常工作?文檔中是否有任何設置,或者您需要更改什麼才能在DC中工作?

我已經嘗試將安全性部分中的設置更改爲Acrobat X及更高版本,但這並沒有解決問題。

+0

沒有工作鏈接到您的pdf,這是純粹的猜測。 – mkl

+0

通常人們使用公共谷歌驅動器或Dropbox股票。 – mkl

+0

您的文檔已加密。請分享密碼。 – mkl

回答

4

一旦在Adobe DC JavaScript調試器中檢查了您的PDF文檔,恐怕只會引發大量的語法錯誤。當您修復一組語法錯誤時,會彈出一整套全新的語法錯誤。根據我所能說的(有人可以證實這一點)是因爲舊版Adobe的JavaScript解釋器對於他們如何解釋語言的要求不那麼嚴格,這就是爲什麼你的表單在舊版本中工作,但卻被Acrobat DC中的最新口譯員。

當我檢查拋出錯誤的JavaScript時,我不僅注意到Adrobat DC確實希望你用分號終止你的JavaScript語句(你的代碼有時會這樣做),但我也發現非常奇怪的結構,有些讓我相信即使你的表單在技術上不會在舊版本的Acrobat中拋出任何錯誤,你也可能會發現這些表單在舊版本中實際上並不正確。

所以,要解決這些錯誤,並讓您的表單在Adobe Acrobat DC中工作,您必須清理所有引發的錯誤,這意味着要遷移(更新)您的編碼風格以符合新的級別Acrobat DC運行時嚴格。

例如,當我在Acrobat中使用DC JavaScript調試器首先打開你的形式,我可以上市了以下錯誤:

 
    SyntaxError: missing ; before statement 
121:Document-Level:CreditCalcException in line 5 of function top_level, script Page-Actions:Page1:Page Open:Action4 
ReferenceError: Loaded is not defined 
5:Page-Actions:Page1:Page Open:Action4Exception in line 2 of function top_level, script AcroForm:LoadCountyLock:Annot1:OnBlur:Action1 
ReferenceError: FormNumber is not defined 
2:AcroForm:LoadCountyLock:Annot1:OnBlur:Action1Exception in line 10 of function top_level, script AcroForm:ButtonMonth1.3.0:Annot1:MouseUp:Action2 
ReferenceError: MonthsNumber is not defined 
10:AcroForm:ButtonMonth1.3.0:Annot1:MouseUp:Action2Exception in line 10 of function top_level, script AcroForm:ButtonMonth1.0.0:Annot1:MouseUp:Action2 
Exception in line 10 of function top_level, script AcroForm:ButtonMonth1.1.0:Annot1:MouseUp:Action2 
ReferenceError: MonthsNumber is not defined 
10:AcroForm:ButtonMonth1.0.0:Annot1:MouseUp:Action2 
SyntaxError: missing ; before statement 
121:Document-Level:CreditCalc 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: missing ; before statement 
121: 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
77:AcroForm:DynolistHS:Annot1:MouseUp:Action2 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56: 
SyntaxError: class is a reserved identifier 
56: 
SyntaxError: class is a reserved identifier 
56: 
SyntaxError: class is a reserved identifier 
56: 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: missing ; before statement 
121: 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
56:Document-Level:SVCFees 
SyntaxError: class is a reserved identifier 
138:AcroForm:DynolistVehicle:Annot1:MouseUp:Action1 

enter image description here

注意如何有所有這些錯誤,如:

 
    SyntaxError: class is a reserved identifier 
    SyntaxError: missing ; before statement 

這些都是很好的指標,DC中的新JavaScript解釋器將JS保持到更高的標準,並使用更新的語言特性就像關鍵字class一樣,並強制使用分號必須使用分號來終止語句。

當你繼續點擊PDF時,JavaScript調試器會以相同的方式開始抱怨更多的錯誤(缺少分號,沒有定義的函數等),所以修復一個問題只會揭示另一個兔子的洞,但相同的問題。

所以我想說,獲取此表單的最新途徑已經更新並準備好用於最新版本的DC,即通過腳本並應用一些約定或linting來開始清理語法(用分號終止所有語句,等等)。一旦清理了語法,JavaScript解釋器很可能會開始查找以前找不到的函數聲明(由於它認爲語法無效),它將(希望)清除「未定義的函數「錯誤。

而且,我只想做你的形式工作,你打算順便一些常規的測試,因爲我看到了奇怪的JavaScript就像從CreditCalc功能拍攝此示例:

enter image description here

注意之間打破行123125?這看起來很奇怪,因爲我看到在125行中的「浮動」對象的代碼永遠不會被擊中,它只是存在,但永遠不會達到目的,這是應該對你很可怕。

像這樣的奇怪結構會遍佈整個腳本,以及可能導致意外行爲的其他陷阱,例如使用!= 0而不是!== 0

因此,恐怕這裏沒有簡單的答案,在Acrobat DC允許您運行此表單之前,您可能需要進行大量清理。

相關問題