这是关于折纸的,它是用于在http://esec-lab.sogeti.com/pages/Origami上浏览PDF文件的Ruby工具。
举个例子,我试图打开一个PDF文件,提取它,然后重写原始的PDF文件。这是我试图使用的完整代码来完成这一任务:
hg clone https://code.google.com/p/origami-pdf/
cd origami-pdf/
rake
cd ..
curl 'http://www.ada.gov/hospcombrprt.pdf' -o hospcombrprt.pdf
origami-pdf/bin/pdf2ruby -x hospcombrprt.pdf
mv hospcombrprt.pdf hospcombrprtORIG.pdf
cd hospcombrprt
ruby hospcombrprt.rb # THIS STEP PRODUCES ERRORS
bc hospcombrprt.pdf ../hospcombrprtORIG.pdf || echo FAILED但是,这会产生以下错误:
/Users/williamentriken/Developer/origami-pdf/lib/origami/page.rb:75:in `pages': Invalid page tree (Origami::InvalidPDFError)
from /Users/williamentriken/Developer/origami-pdf/lib/origami/pdf.rb:689:in `compile'
from /Users/williamentriken/Developer/origami-pdf/lib/origami/pdf.rb:233:in `save'
from hospcombrprt.rb:189:in `<main>'是否有其他人成功地使用这个库执行此操作,请您分享?
发布于 2014-12-15 04:04:32
原始邮政
我和库玩了一段时间,但是我不断地发现错误和小错误,比如复制的页面和缺少的页面.
...you应该阅读作者关于使用折纸库的限制的评论。
我推荐的pdf格式宝石,它是伟大的简单的pdf操作,如合并,冲压等。
更新
我查看了特定的PDF文件,这可能是一个与不支持的PDF版本相关的问题。
http://www.ada.gov/hospcombrprt.pdf文件是用4类型加密加密的,根据PDF标准,从PDF1.5开始的加密是:
“(PDF1.5)安全处理程序使用CF、StmF和StrF条目指定的规则在文档中定义加密和解密的使用。”
加密使用AES v.2,仅限于PDF 1.6及以上:
"AESV2 (PDF-1.6)应用程序应向安全处理程序请求加密密钥,并使用“算法1:使用RC4或AES算法加密数据”,使用16字节块大小的加密算法和初始化向量对数据进行隐式解密,并将其作为流或字符串中的前16个字节。“
因此,即使解密代码是用,应用该代码的方式可能不知道,因为PDF文件的结构.
...It最好从简单的PDF文件开始,然后修补任何还不支持的东西。
https://stackoverflow.com/questions/27063431
复制相似问题