SHOW:
|
|
- or go back to the newest paste.
| 1 | #! /usr/bin/env python | |
| 2 | ||
| 3 | - | """ attribution to book violent python. this is supposed to print meta to stdout, it doesn't. |
| 3 | + | """ this was fixed from the previous version because pdf_meta.py had the if __name__ == '__main__': code inside the main function. That always needs to be in the document not in the function. Thanks Javantea =] |
| 4 | - | it doesn't throw exception, but doesn't print anything. still working on it.""" |
| 4 | + | There was also a typo printmeta(filename): should be printMeta(filename): If this still throws an exception |
| 5 | check the indentation on the last main(). | |
| 6 | usage: | |
| 7 | python pdf_meta.py -F <filename> #where <filename> is your pdf, dont use <>""" | |
| 8 | ||
| 9 | - | def printmeta(filename): |
| 9 | + | |
| 10 | import optparse | |
| 11 | from pyPdf import PdfFileReader | |
| 12 | def printMeta(filename): | |
| 13 | pdfFile = PdfFileReader(file(filename, 'rb')) | |
| 14 | docInfo = pdfFile.getDocumentInfo() | |
| 15 | print '[*] PDF MetaData For: ' + str(filename) | |
| 16 | for metaItem in docInfo: | |
| 17 | print '[+] ' + metaItem + ':' + docInfo[metaItem] | |
| 18 | def main(): | |
| 19 | parser = optparse.OptionParser('usage %prog "+\
| |
| 20 | "-F <PDF file name>') | |
| 21 | parser.add_option('-F', dest='fileName', type='string',\
| |
| 22 | help='specify PDF file name') | |
| 23 | (options, args) = parser.parse_args() | |
| 24 | fileName = options.fileName | |
| 25 | if fileName == None: | |
| 26 | print parser.usage | |
| 27 | exit(0) | |
| 28 | else: | |
| 29 | printMeta(fileName) | |
| 30 | if __name__ == '__main__': | |
| 31 | main() |