def append_tiff(self, append_file, remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = Product.product_uri + 'imaging/tiff/' + self.filename + '/appendTiff'

        qry = {'appendFile': append_file}
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri, None, headers={
                'content-type': 'application/json', 'accept': 'application/json'
            })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        return response
    def split_presentation(self, from_slide, to_slide, destination=None, save_format=None, remote_folder='', storage_type='Aspose', storage_name=None):
        """

        :param from_slide:
        :param to_slide:
        :param destination:
        :param save_format:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """

        str_uri = self.base_uri + '/split'
        qry_str = {'from': from_slide, 'to': to_slide}
        if(destination):
            qry_str['destFolder'] = destination
        if(save_format):
            qry_str['format'] = save_format
        str_uri = Utils.build_uri(str_uri,qry_str)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri, None, headers={
                'content-type': 'application/json', 'accept': 'application/json'
            })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)
        return response
Example #3
0
    def split_document(self, from_page, to_page, save_format='pdf',
                       remote_folder='', storage_type='Aspose', storage_name=None):
        """

        :param from_page:
        :param to_page:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = self.base_uri + '/split'
        qry = {'from': from_page, 'to': to_page, 'format': save_format}
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)
        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.post(signed_uri, None, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        return response['SplitResult']
Example #4
0
    def update_gif_properties_local(self,
                                    input_file_path,
                                    bg_color_index,
                                    px_aspect_ratio,
                                    interlaced,
                                    remote_folder='',
                                    storage_type='Aspose',
                                    storage_name=None):
        """

        :param input_file_path:
        :param bg_color_index:
        :param px_aspect_ratio:
        :param interlaced:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/gif'
        qry = {
            'backgroundColorIndex': bg_color_index,
            'pixelAspectRatio': px_aspect_ratio,
            'interlaced': interlaced
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            with open(input_file_path, 'rb') as payload:
                response = requests.post(signed_uri,
                                         data=payload,
                                         headers={
                                             'content-type':
                                             'application/json',
                                             'accept': 'application/json',
                                             'x-aspose-client':
                                             'PYTHONSDK/v1.0'
                                         },
                                         stream=True)
                response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '_updated.gif'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def add_task(self, task_name, before_task_id, remote_folder='', storage_type='Aspose', storage_name=None):
        """

        :param task_name:
        :param before_task_id:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = self.base_uri + '/tasks'
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        qry = {'taskName': task_name, 'beforeTaskId': before_task_id}
        str_uri = Utils.build_uri(str_uri, qry)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri, None, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        return response['TaskItem']
Example #6
0
    def insert_watermark_image(self, image_file, angle, remote_folder='', storage_type='Aspose', storage_name=None):
        """

        :param image_file:
        :param angle:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = self.base_uri + '/insertWatermarkText'
        qry = {'imageFile': image_file, 'rotationAngle': angle}
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri, None, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            return Utils.download_file(self.filename, self.filename, remote_folder, storage_type, storage_name)
        else:
            return validate_output
Example #7
0
    def update_bmp_properties_local(self,
                                    input_file_path,
                                    bits_per_px,
                                    h_resolution,
                                    v_resolution,
                                    remote_folder='',
                                    storage_type='Aspose',
                                    storage_name=None):
        """

        :param bits_per_px:
        :param h_resolution:
        :param v_resolution:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/bmp'
        qry = {
            'bitsPerPixel': bits_per_px,
            'horizontalResolution': h_resolution,
            'verticalResolution': v_resolution
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            with open(input_file_path, 'rb') as payload:
                response = requests.post(signed_uri,
                                         data=payload,
                                         headers={
                                             'content-type':
                                             'application/json',
                                             'accept': 'application/json',
                                             'x-aspose-client':
                                             'PYTHONSDK/v1.0'
                                         },
                                         stream=True)
                response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '_updated.bmp'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def resize_tiff_frame(self,
                          frame_id,
                          new_width,
                          new_height,
                          output_path,
                          remote_folder='',
                          storage_type='Aspose',
                          storage_name=None):
        """

        :param frame_id:
        :param new_width:
        :param new_height:
        :param output_path:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/' + self.filename + '/frames/' + str(
            frame_id)
        qry = {
            'saveOtherFrames': True,
            'newWidth': new_width,
            'newHeight': new_height,
            'outputPath': output_path
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri,
                                    headers={
                                        'content-type': 'application/json',
                                        'accept': 'application/json'
                                    },
                                    stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'tiff'
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_resized_frame_' + \
                          str(frame_id) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
Example #9
0
    def update_psd_properties_local(self,
                                    input_file_path,
                                    channels_count,
                                    compression_method,
                                    remote_folder='',
                                    storage_type='Aspose',
                                    storage_name=None):
        """

        :param input_file_path:
        :param channels_count:
        :param compression_method:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/psd'
        qry = {
            'channelsCount': channels_count,
            'compressionMethod': compression_method
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            with open(input_file_path, 'rb') as payload:
                response = requests.post(signed_uri,
                                         data=payload,
                                         headers={
                                             'content-type':
                                             'application/json',
                                             'accept': 'application/json',
                                             'x-aspose-client':
                                             'PYTHONSDK/v1.0'
                                         },
                                         stream=True)
                response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '_updated.psd'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def update_tiff_properties(self, bit_depth, compression, resolution_unit, new_width, new_height,
                               horizontal_resolution, vertical_resolution, output_path,
                               remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param bit_depth:
        :param compression:
        :param resolution_unit:
        :param new_width:
        :param new_height:
        :param horizontal_resolution:
        :param vertical_resolution:
        :param output_path:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'storage/file/' + self.filename
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)
        signed_uri = Utils.sign(str_uri)
        file_content = requests.get(signed_uri, headers={
            'content-type': 'application/json', 'accept': 'application/json'
        }, stream=True)


        str_uri = Product.product_uri + 'imaging/tiff'
        qry = {'compression': compression, 'resolutionUnit': resolution_unit, 'newWidth' : new_width,
               'newHeight' : new_height, 'horizontalResolution' : horizontal_resolution,
               'verticalResolution' : vertical_resolution, 'bitDepth' : bit_depth, 'outputPath': output_path}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.post(signed_uri, file_content, headers={
                'content-type': 'application/json', 'accept': 'application/json'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_updated.tiff'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def convert(self, save_format, additional_params=None, slide_number=None, stream_out=False, output_filename=None,
                remote_folder='', storage_type='Aspose', storage_name=None):
        """

        :param save_format:
        :param additional_params:
        :param slide_number:
        :param stream_out:
        :param output_filename:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        if not save_format:
            raise ValueError("save_format not specified")

        str_uri = self.base_uri + '/slides'
        if(slide_number):
            str_uri += '/' + str(slide_number)
        qry_str = {'format': save_format}
        if(additional_params):
            qry_str.update(additional_params)
        str_uri = Utils.build_uri(str_uri, qry_str)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            if not stream_out:
                if output_filename is None:
                    output_filename = self.filename
                save_format = 'zip' if save_format == 'html' else save_format
                if(slide_number):
                    output_path = AsposeApp.output_path + Utils.get_filename(output_filename) + '_' + str(slide_number) + '.' + \
                    save_format
                else:
                    output_path = AsposeApp.output_path + Utils.get_filename(output_filename)  + '.' + save_format
                Utils.save_file(response, output_path)
                return output_path
            else:
                return response.content
        else:
            return validate_output
Example #12
0
    def rotate_image(self,
                     method,
                     output_path,
                     save_format,
                     remote_folder='',
                     storage_type='Aspose',
                     storage_name=None):
        """

        :param method:
        :param output_path:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/' + self.filename + '/rotateflip'
        qry = {
            'method': method,
            'outputPath': output_path,
            'format': save_format
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri,
                                    headers={
                                        'content-type': 'application/json',
                                        'accept': 'application/json',
                                        'x-aspose-client': 'PYTHONSDK/v1.0'
                                    },
                                    stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
Example #13
0
    def update_jpg_properties(self,
                              quality,
                              compression_type,
                              output_path,
                              remote_folder='',
                              storage_type='Aspose',
                              storage_name=None):
        """

        :param quality:
        :param compression_type:
        :param output_path:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = self.base_uri + '/jpg'
        qry = {
            'quality': quality,
            'compressionType': compression_type,
            'outputPath': output_path
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri,
                                    headers={
                                        'content-type': 'application/json',
                                        'accept': 'application/json',
                                        'x-aspose-client': 'PYTHONSDK/v1.0'
                                    },
                                    stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '_updated.jpg'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
Example #14
0
    def convert_to_image(self, slide_number, save_format, width=None, height=None, stream_out=False,
                         output_filename=None, remote_folder='', storage_type='Aspose', storage_name=None):
        """

        :param slide_number:
        :param save_format:
        :param width:
        :param height:
        :param stream_out:
        :param output_filename:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        if not save_format:
            raise ValueError("save_format not specified")

        if not slide_number:
            raise ValueError("slide_number not specified")

        str_uri = self.base_uri + '/slides/' + str(slide_number)
        qry = {'format': save_format}
        if width and height:
            qry['width'] = width
            qry['height'] = height
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            if not stream_out:
                if output_filename is None:
                    output_filename = self.filename
                output_path = AsposeApp.output_path + Utils.get_filename(output_filename) + '_' + str(slide_number) + '.' + \
                    save_format
                Utils.save_file(response, output_path)
                return output_path
            else:
                return response.content
        else:
            return validate_output
    def generate(self, code_text, symbology='QR', image_format='png', x_res=None, y_res=None, x_dim=None,
                 y_dim=None, extra_params=None, remote_folder='', storage_type='Aspose', storage_name=None):
        """
        Generate Barcode

        :param code_text:
        :param symbology:
        :param image_format:
        :param x_res:
        :param y_res:
        :param x_dim:
        :param y_dim:
        :param extra_params:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        if not code_text:
            raise ValueError("code_text not specified.")

        if symbology == '':
            raise ValueError("symbology can not be empty.")

        if image_format == '':
            raise ValueError("image_format can not be empty.")

        str_uri = self.base_uri + '/generate'
        qry_str = {'text': code_text, 'type': symbology, 'format': image_format}
        if x_res:
            qry_str['resolutionX'] = x_res
        if y_res:
            qry_str['resolutionY'] = y_res
        if x_dim:
            qry_str['dimensionX'] = x_dim
        if y_dim:
            qry_str['dimensionsY'] = y_dim

        if extra_params:
            qry_str.update(extra_params)

        str_uri = Utils.build_uri(str_uri, qry_str)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = requests.get(signed_uri, headers={
            'content-type': 'application/json', 'accept': 'application/json'
        }, stream=True)

        return response
    def append_documents(self,
                         append_file,
                         start_page=None,
                         end_page=None,
                         remote_folder='',
                         storage_type='Aspose',
                         storage_name=None):
        """
        Append a pdf file to base pdf

        :param append_file:
        :param start_page:
        :param end_page:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = self.base_uri + '/appendDocument'
        qry = {'appendFile': append_file}
        if start_page:
            qry['startPage'] = start_page
        if end_page:
            qry['endPage'] = end_page
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri,
                                     None,
                                     headers={
                                         'content-type': 'application/json',
                                         'accept': 'application/json',
                                         'x-aspose-client': 'PYTHONSDK/v1.0'
                                     })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if validate_output:
            return validate_output
        else:
            return True
    def get_image(self, page_number, image_index, save_format, width=None, height=None,
                  remote_folder='', storage_type='Aspose', storage_name=None):
        """
        Get image from given page

        :param page_number:
        :param image_index:
        :param save_format:
        :param width:
        :param height:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        if not save_format:
            raise ValueError("save_format not specified")

        if not page_number:
            raise ValueError("page_number not specified")

        str_uri = self.base_uri + '/pages/' + str(page_number) + '/images/' + str(image_index)
        qry = {'format': save_format}
        if width and height:
            qry['width'] = width
            qry['height'] = height
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_' + str(page_number) \
                + '_' + str(image_index) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def update_image(self,
                     params,
                     save_format,
                     remote_folder='',
                     storage_type='Aspose',
                     storage_name=None):
        """

        :param params:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = self.base_uri + '/updateImage'
        params['format'] = save_format
        str_uri = Utils.build_uri(str_uri, params)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri,
                                    headers={
                                        'content-type': 'application/json',
                                        'accept': 'application/json'
                                    },
                                    stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '_updated.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def crop_tiff_frame(self, frame_id, x, y, new_width, new_height, output_path,
                           remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param frame_id:
        :param x:
        :param y:
        :param new_width:
        :param new_height:
        :param output_path:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/' + self.filename + '/frames/' + str(frame_id)
        qry = {'saveOtherFrames': True, 'x':x, 'y':y, 'newWidth': new_width, 'newHeight': new_height,
               'outputPath': output_path}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'tiff'
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_croped_frame_' + \
                          str(frame_id) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def resize_image(self, input_file_path, new_width, new_height, output_filename, save_format,
                           remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param input_file_path:
        :param new_width:
        :param new_height:
        :param output_filename:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/resize'
        qry = {'newWidth': new_width, 'newHeight': new_height, 'format': save_format}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            with open(input_file_path, 'rb') as payload:
                response = requests.post(signed_uri, data=payload, headers={
                    'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
                }, stream=True)
                response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)

        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(input_file_path) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def crop_image(self, x, y, width, height, output_path, save_format,
                           remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param x:
        :param y:
        :param width:
        :param height:
        :param output_path:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/' + self.filename + '/crop'
        qry = {'x': x, 'y': y, 'width': width, 'height': height, 'outputPath': output_path, 'format': save_format}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_croped.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def add_resource(self,
                     resource_name,
                     after_resource_id,
                     remote_folder='',
                     storage_type='Aspose',
                     storage_name=None):
        """

        :param resource_name:
        :param after_resource_id:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = self.base_uri + '/resources'
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        qry = {
            'resourceName': resource_name,
            'afterResourceId': after_resource_id
        }
        str_uri = Utils.build_uri(str_uri, qry)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri,
                                     None,
                                     headers={
                                         'content-type': 'application/json',
                                         'accept': 'application/json',
                                         'x-aspose-client': 'PYTHONSDK/v1.0'
                                     })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        return response['ResourceItem']
    def update_gif_properties_local(self, input_file_path, bg_color_index, px_aspect_ratio, interlaced,
                              remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param input_file_path:
        :param bg_color_index:
        :param px_aspect_ratio:
        :param interlaced:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/gif'
        qry = {'backgroundColorIndex': bg_color_index, 'pixelAspectRatio': px_aspect_ratio,
               'interlaced': interlaced}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            with open(input_file_path, 'rb') as payload:
                response = requests.post(signed_uri, data=payload, headers={
                    'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
                }, stream=True)
                response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_updated.gif'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def update_jpg_properties_local(self, input_file_path, quality, compression_type,
                              remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param input_file_path:
        :param quality:
        :param compression_type:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """


        str_uri = Product.product_uri + 'imaging/jpg'
        qry = {'quality': quality, 'compressionType': compression_type}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            with open(input_file_path, 'rb') as payload:
                response = requests.post(signed_uri, data=payload, headers={
                    'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
                }, stream=True)
                response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_updated.jpg'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def update_bmp_properties(self, bits_per_px, h_resolution, v_resolution, output_path,
                              remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param bits_per_px:
        :param h_resolution:
        :param v_resolution:
        :param output_path:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = self.base_uri + '/bmp'
        qry = {'bitsPerPixel': bits_per_px, 'horizontalResolution': h_resolution,
               'verticalResolution': v_resolution,'outputPath': output_path}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_updated.bmp'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def update_psd_properties(self, channels_count, compression_method, output_path,
                              remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param channels_count:
        :param compression_method:
        :param output_path:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """


        str_uri = self.base_uri + '/psd'
        qry = {'channelsCount': channels_count, 'compressionMethod': compression_method,
               'outputPath': output_path}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_updated.psd'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def rotate_image(self, method, output_path, save_format,
                           remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param method:
        :param output_path:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/' + self.filename + '/rotateflip'
        qry = {'method': method, 'outputPath': output_path, 'format': save_format}

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def append_documents(self, append_file, start_page=None, end_page=None,
                         remote_folder='', storage_type='Aspose', storage_name=None):
        """
        Append a pdf file to base pdf

        :param append_file:
        :param start_page:
        :param end_page:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = self.base_uri + '/appendDocument'
        qry = {'appendFile': append_file}
        if start_page:
            qry['startPage'] = start_page
        if end_page:
            qry['endPage'] = end_page
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri, None, headers={
                'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0'
            })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if validate_output:
            return validate_output
        else:
            return True
    def update_tiff_frame(self, frame_id, params,
                           remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param frame_id:
        :param params:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/' + self.filename + '/frames/' + str(frame_id)
        str_uri = Utils.build_uri(str_uri, params)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'tiff'
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_updated_frame_' + \
                          str(frame_id) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def update_image(self, params, save_format, remote_folder='', storage_type='Aspose', storage_name=None):

        """

        :param params:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = self.base_uri + '/updateImage'
        params['format'] = save_format
        str_uri = Utils.build_uri(str_uri, params)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri, headers={
                'content-type': 'application/json', 'accept': 'application/json'
            }, stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_updated.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def read_by_algorithm(self, symbology=None, algorithm=None, remote_folder='', storage_type='Aspose', storage_name=None):
        """
        Read a Barcode

        :param symbology:
        :param algorithm:
        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = self.base_uri + '/' + self.filename + '/recognize'
        if symbology:
            str_uri += '?type=' + symbology
        if algorithm:
            str_uri = Utils.build_uri(str_uri, {'BinarizationHints': algorithm})
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name)

        signed_uri = Utils.sign(str_uri)
        response = requests.get(signed_uri, headers={
            'content-type': 'application/json', 'accept': 'application/json'
        }).json()
        return response['Barcodes'] if response['Code'] == 200 else False
    def append_tiff(self,
                    append_file,
                    remote_folder='',
                    storage_type='Aspose',
                    storage_name=None):
        """

        :param remote_folder: storage path to operate
        :param storage_type: type of storage e.g Aspose, S3
        :param storage_name: name of storage e.g. MyAmazonS3
        :return:
        """
        str_uri = Product.product_uri + 'imaging/tiff/' + self.filename + '/appendTiff'

        qry = {'appendFile': append_file}
        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)
        response = None
        try:
            response = requests.post(signed_uri,
                                     None,
                                     headers={
                                         'content-type': 'application/json',
                                         'accept': 'application/json'
                                     })
            response.raise_for_status()
            response = response.json()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        return response
Example #33
0
    def resize_image(self,
                     input_file_path,
                     new_width,
                     new_height,
                     output_filename,
                     save_format,
                     remote_folder='',
                     storage_type='Aspose',
                     storage_name=None):
        """

        :param input_file_path:
        :param new_width:
        :param new_height:
        :param output_filename:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/resize'
        qry = {
            'newWidth': new_width,
            'newHeight': new_height,
            'format': save_format
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            with open(input_file_path, 'rb') as payload:
                response = requests.post(signed_uri,
                                         data=payload,
                                         headers={
                                             'content-type':
                                             'application/json',
                                             'accept': 'application/json',
                                             'x-aspose-client':
                                             'PYTHONSDK/v1.0'
                                         },
                                         stream=True)
                response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)

        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(
                input_file_path) + '.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def update_tiff_properties(self,
                               bit_depth,
                               compression,
                               resolution_unit,
                               new_width,
                               new_height,
                               horizontal_resolution,
                               vertical_resolution,
                               output_path,
                               remote_folder='',
                               storage_type='Aspose',
                               storage_name=None):
        """

        :param bit_depth:
        :param compression:
        :param resolution_unit:
        :param new_width:
        :param new_height:
        :param horizontal_resolution:
        :param vertical_resolution:
        :param output_path:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'storage/file/' + self.filename
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)
        signed_uri = Utils.sign(str_uri)
        file_content = requests.get(signed_uri,
                                    headers={
                                        'content-type': 'application/json',
                                        'accept': 'application/json'
                                    },
                                    stream=True)

        str_uri = Product.product_uri + 'imaging/tiff'
        qry = {
            'compression': compression,
            'resolutionUnit': resolution_unit,
            'newWidth': new_width,
            'newHeight': new_height,
            'horizontalResolution': horizontal_resolution,
            'verticalResolution': vertical_resolution,
            'bitDepth': bit_depth,
            'outputPath': output_path
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.post(signed_uri,
                                     file_content,
                                     headers={
                                         'content-type': 'application/json',
                                         'accept': 'application/json'
                                     },
                                     stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '_updated.tiff'
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output
    def crop_image(self,
                   x,
                   y,
                   width,
                   height,
                   output_path,
                   save_format,
                   remote_folder='',
                   storage_type='Aspose',
                   storage_name=None):
        """

        :param x:
        :param y:
        :param width:
        :param height:
        :param output_path:
        :param save_format:
        :param remote_folder:
        :param storage_type:
        :param storage_name:
        :return:
        """

        str_uri = Product.product_uri + 'imaging/' + self.filename + '/crop'
        qry = {
            'x': x,
            'y': y,
            'width': width,
            'height': height,
            'outputPath': output_path,
            'format': save_format
        }

        str_uri = Utils.build_uri(str_uri, qry)
        str_uri = Utils.append_storage(str_uri, remote_folder, storage_type,
                                       storage_name)

        signed_uri = Utils.sign(str_uri)

        response = None
        try:
            response = requests.get(signed_uri,
                                    headers={
                                        'content-type': 'application/json',
                                        'accept': 'application/json'
                                    },
                                    stream=True)
            response.raise_for_status()
        except requests.HTTPError as e:
            print e
            print response.content
            exit(1)

        validate_output = Utils.validate_result(response)
        if not validate_output:
            save_format = 'zip' if save_format == 'html' else save_format
            output_path = AsposeApp.output_path + Utils.get_filename(
                self.filename) + '_croped.' + save_format
            Utils.save_file(response, output_path)
            return output_path
        else:
            return validate_output