我从pdf的Excel电子表格中提取了一个嵌入式对象,但是excel zip文件将嵌入式对象保存为二进制文件。
我正在尝试读取二进制文件,并将其恢复为pdf的原始格式。我从另一个具有类似问题的问题中获取了一些代码,但是当我尝试打开pdf Adobe时,出现错误“无法打开,因为文件已损坏...未正确解码。”
有人知道这样做的方法吗?
with open('oleObject1.bin','rb') as f:
binaryData = f.read()
print(binaryData)
with open(os.path.expanduser('test1.pdf'), 'wb') as fout:
fout.write(base64.decodebytes(binaryData))
答案 0 :(得分:1)
感谢赖安,我能够看到您在说什么。这是解决方案,供将来参考。
window.app.filter('finished', function() {
return function(input, showFinished) {
var out = [];
angular.forEach(input, function(item) {
if(!item.finished || showFinished) {
out.push(item);
}
})
return out;
}
})
答案 1 :(得分:0)
答案 2 :(得分:0)
bin文件包含有效的PDF。无需解码。但是bin文件中确实有需要修剪的PDF前后的字节。
要获取第一个字节,请查找字符串%PDF-
的第一个匹配项
要获取最后一个字节,请查找最后 %%EOF
。
注意,我不知道Excel添加的前导/后继字节是什么“格式”。如果上面的两个ascii字符串也可以包含在前导/后继数据中,则上述解决方案显然不会起作用。