2017-02-21 94 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允许您运行此表单之前,您可能需要进行大量清理。