Search code examples
pythonpdfmetadata

Reading the PDF properties/metadata in Python


How can I read the properties/metadata like Title, Author, Subject and Keywords stored on a PDF file using Python?


Solution

  • Try pdfminer:

    from pdfminer.pdfparser import PDFParser
    from pdfminer.pdfdocument import PDFDocument
    
    fp = open('diveintopython.pdf', 'rb')
    parser = PDFParser(fp)
    doc = PDFDocument(parser)
    
    print(doc.info)  # The "Info" metadata
    

    Here's the output:

    >>> [{'CreationDate': 'D:20040520151901-0500',
      'Creator': 'DocBook XSL Stylesheets V1.52.2',
      'Keywords': 'Python, Dive Into Python, tutorial, object-oriented, programming, documentation, book, free',
      'Producer': 'htmldoc 1.8.23 Copyright 1997-2002 Easy Software Products, All Rights Reserved.',
      'Title': 'Dive Into Python'}]
    

    For more info, look at this tutorial: A lightweight XMP parser for extracting PDF metadata in Python.