Oct 28

[python] 从ppt中提取照片 不指定

felix021 @ 2011-10-28 01:10 [IT » Python] 评论(0) , 引用(0) , 阅读(4251) | Via 本站原创 | |
ppt中保存的默认是原始照片;可以把照片另存,但是保存的图片实际上是压缩过后的图片,而且EXIF信息也丢失了;另存为pptx再改成zip,发现效果相同。为了找回最原始的照片,可以将其另存为xml格式,然后再写程序将其中的图片信息提取出来。

xml格式中图片的信息大致是这样存储的:
引用
<pkg:part pkg:name="/ppt/media/image5.jpeg" pkg:contentType="image/jpeg" pkg:compression="store"><pkg:binaryData> [[base64 encoded data]] </pkg:binaryData></pkg:part>

写了个简单的python脚本来完成:
import re
import base64
import os

x = open("1.xml", "r")
str = x.read()

r = re.compile(r'<pkg:part pkg:name="[^"]*\/([^"]*)".*?>\s*<pkg:binaryData>((.|\n)*?)<\/pkg:binaryData>', re.S)
m = re.findall(r, str)

os.system("mkdir files")

for i in m:
    print "write %s" % i[0]
    f = open("./files/" + i[0], "wb");
    f.write(base64.b64decode(i[1]))


转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: http://www.felix021.com/blog/feed.php
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]