前言
编写能从PDF文件中提取元数据的脚本
一、元数据
作为一种在文件里非明显可见的对象,元数据可以存在于文档、电子表格、图片、音频、和视频文件中。创建这些文件的应用程序可能会把文档的作者、创建和修改时间、可能更新的版本和注释之类的信息存储下来。
二、代码实例
import PyPDF2
import optparse
def Evidence(filepath):
pdffile = PyPDF2.PdfFileReader(open(filepath,'rb'))
docinfo = pdffile.getDocumentInfo()
print('[*] PDF metadata For:'+ str(filepath))
for metaItem in docinfo:
print(metaItem.strip('/'),":",docinfo[metaItem])
def main():
usage = "usage %prog -F <PDF filePath/filename>"
parser = optparse.OptionParser(usage) # 创建对象实例
parser.add_option('-F', dest='filePath', type='string', help='specify PDF filename') ##需要的命令行参数
(options, args) = parser.parse_args()
filename = options.filePath
if (filename == None):
# 如果主机和端口都是空的话
print(parser.usage)
exit(0) # 退出
else:
Evidence(filename)
if __name__ == '__main__':
main()
注解
PyPDF2.PdfFileReader:读取PDF文件
.getDocumentInfo():返回一个tuple,每个tuple中都含有对元数据元素的一个描述及它的值。
optparse.OptionParser(usage):提供命令行交互解析功能