我试图支持的遗留应用程序存在一个奇怪的问题。
从Java应用程序,我使用JasperReports 6.1.0生成PDF报告,我正在打开FoxitReader v2.0 Build 1606,只需调用
"C:/path/to/FoxitReader.exe" + " " + /absolute/path/to/pdf
(好吧,丑陋的伪代码,但你明白了)
可是:
/absolute/path/to/pdf
然后相同的PDF文件打开为:
这里有一个时髦的pdf文件:https://drive.google.com/open?id=0B5izDr7AD9lXWFFKNnlNYS04VFU
从旧FoxitReader的文件属性(有效的那个)我得到:
Creator: JasperReports Library version null
Producer: iText 2.1.7 by 1T3XT
PDF Version: PDF-1.4
我不知道为什么这个文件只能由旧的FoxitReader打开。
获得可操作的PDF版本的唯一解决方法是打印到PDF,从旧的FoxitReader到更高版本的FoxitReader的pdf打印驱动程序,并使用打印作业生成的PDF文件,但这非常黑客。
关于如何调试此内容的任何想法(除了将所有内容升级到最新版本之外)都将非常感激。
谢谢!