注意:我不确定是在这里更好,还是在超级用户下更好,但是因为它涉及到poppler库,所以我假设在这里,因为这里的人们更有可能知道它是如何工作的。
软件:用于Irex Iliad的iPDF 2.12 + Poppler 2.11 (上次提交2006-12-12)。来源是here。
问题文档: Sciam数字PDF(任何一种,因为它们都是以相同的方式生成的)。
使用Okular、Adobe Reader和XPDF可以正常加载文档,而无需请求任何密码,并且可以毫无问题地读取。
使用iPDF加载-因此弹出器-需要密码才能打开文档。
我已经尝试绕过Poppler/SecurityHandler.cc中的SecurityHandler:checkEncryption方法,使其返回true。这是可行的,但无法加载pdf,并出现错误:
Error: Unsupported version/revision (4/4) of Standard security handler
Error (13571568): Unknown compression method in flate stream
Error: Top-level pages object is wrong type (null)
Error: Couldn't read page catalog
(PV_E)PDFCore.cpp:61,open() Open PDF document (èÖ@(èÖ@à failed with error code 2
(PV_E)PDFApp.cpp:185,open() Could not open file!这表明实际的流是加密的,如果是真的,这表明okular以某种方式绕过了这一点。
我知道有些人在其他移动设备上也有类似的问题(我在Nexus One上发现了类似的报告)。
我不太了解pdf格式是如何工作的,不知道是否有一些“默认”密码应该用来打开文档(不需要其他权限)。在那里吗?当它只需要使用用户密码(空白?)时,它是否请求所有者密码?来打开它吗?
否则,有谁知道像Okular/XPDF这样的东西如何能够毫无问题地打开它?
发布于 2010-08-27 05:22:51
事实证明,这是一个问题,因为应用程序使用的poppler版本对于所需的安全处理程序来说太旧了。
因此,我已经开始了我自己的项目,为我的iliad创建一个新的pdf查看器,基于可以处理它的最新(0.14.*)版本的poppler。来源:here。
https://stackoverflow.com/questions/3322260
复制相似问题