Example #1
0
    def __init__(self, file_abs_path):
        """
        __init__(self, file_abs_path):

        Arguments:
            - file_abs_path: (string) Absolute file path.
        """

        self.absolute_path = file_abs_path
        self.name = os.path.basename(self.absolute_path)

        application_messages.print_file_name(self.name)
        application_messages.print_document_info('Path', self.absolute_path)

        try:
            document = PdfFileReader(file(self.absolute_path, 'rb'),
                                     strict=False)

            self.__get_encrypted_status(document)

            document_info = document.getDocumentInfo()
            if document_info:
                self.__parse_document_info(document_info)

            self.num_pages = str(document.getNumPages())
            self.size = str(os.path.getsize(file_abs_path))
            self.__get_keywords(document)

        except Exception as ex:
            if 'encode' not in str(ex):
                raise Exception(ex)
Example #2
0
    def __init__(self, file_abs_path):
        """
        __init__(self, file_abs_path):

        Arguments:
            - file_abs_path: (string) Absolute file path.
        """

        self.absolute_path = file_abs_path
        self.name = os.path.basename(self.absolute_path)

        application_messages.print_file_name(self.name)
        application_messages.print_document_info('Path', self.absolute_path)

        try:
            document = PdfFileReader(file(self.absolute_path, 'rb'))

            self.__get_encrypted_status(document)

            document_info = document.getDocumentInfo()
            if document_info:
                self.__parse_document_info(document_info)

        except Exception as ex:
            if 'encode' not in str(ex):
                raise Exception(ex)
Example #3
0
    def print_info(self):
        """
        print_info(self)
            Displays the metadata in a nice format.
        """

        if self.title:
            application_messages.print_document_info('Title', self.title)

        if self.author:
            application_messages.print_highlighted('Author', self.author)

        if self.creator:
            application_messages.print_document_info('Creator', self.creator)

        if self.subject:
            application_messages.print_document_info('Subject', self.subject)

        if self.producer:
            application_messages.print_document_info('Producer', self.producer)

        if self.creation_date:
            application_messages.print_date('Creation date',
                                            self.creation_date)

        if self.modification_date:
            application_messages.print_date('Modification date',
                                            self.modification_date)

        if self.encrypted:
            if self.encrypted == 'Yes':
                application_messages.print_highlighted('Encrypted',
                                                       self.encrypted)
            else:
                application_messages.print_document_info(
                    'Encrypted', self.encrypted)

        if self.num_pages:
            application_messages.print_document_info('Pages', self.num_pages)

        if self.size:
            application_messages.print_document_info(
                'Size', '{0} bytes'.format(self.size))

        if self.keywords:
            application_messages.print_document_info('Keywords', self.keywords)

        print
Example #4
0
    def print_info(self):
        """
        print_info(self)
            Displays the metadata in a nice format.
        """

        if self.title:
            application_messages.print_document_info('Title', self.title)

        if self.author:
            application_messages.print_highlighted('Author', self.author)

        if self.creator:
            application_messages.print_document_info('Creator', self.creator)

        if self.subject:
            application_messages.print_document_info('Subject', self.subject)

        if self.producer:
            application_messages.print_document_info('Producer', self.producer)

        if self.creation_date:
            application_messages.print_date('Creation date', self.creation_date)

        if self.modification_date:
            application_messages.print_date('Modification date', self.modification_date)

        if self.encrypted:
            if self.encrypted == 'Yes':
                application_messages.print_highlighted('Encrypted', self.encrypted)
            else:
                application_messages.print_document_info('Encrypted', self.encrypted)

        if self.num_pages:
            application_messages.print_document_info('Pages', self.num_pages)

        if self.size:
            application_messages.print_document_info('Size', '{0} bytes'.format(self.size))

        print