def get_drawing_object(object_uri, output_path, remote_folder='', storage_type='Aspose', storage_name=None): """ :param object_uri: :param output_path: :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: """ object_index = object_uri[-1:] str_uri = Product.product_uri + 'words/' + object_uri 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) object_info = response['DrawingObject'] if not object_info['ImageDataLink'] is None: str_uri = Product.product_uri + 'words/' + object_uri + '/imageData' output_path = output_path + 'DrawingObject_' + str(object_index) + '.jpg' elif not object_info['OleDataLink'] is None: str_uri = Product.product_uri + 'words/' + object_uri + '/oleData' output_path = output_path + 'DrawingObject_' + str(object_index) + '.xlsx' else: str_uri = Product.product_uri + 'words/' + object_uri + '?format=jpg' output_path = output_path + 'DrawingObject_' + str(object_index) + '.jpg' 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' }) 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: return Utils.save_file(response, 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 merge_documents(merged_filename, source_files, remote_folder='', storage_type='Aspose', storage_name=None): """ Merge multiple pdf files :param merged_filename: :param source_files: :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: """ json_data = json.dumps({'List': source_files}) str_uri = Product.product_uri + 'pdf/' + merged_filename + '/merge' str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = None try: response = requests.put(signed_uri, json_data, 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 True if response['Status'] == 'OK' else False
def get_text_items(self, page_number, remote_folder='', storage_type='Aspose', storage_name=None): """ Get text items from given page number :param page_number: :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 + '/pages/' + str(page_number) + '/textitems' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['TextItems']['List'] if response['TextItems']['List'] else False
def read_from_url(self, url, symbology=None, remote_folder='', storage_type='Aspose', storage_name=None): """ Read a Barcode :param url: :param symbology: :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 url: raise ValueError("url not specified") str_uri = self.base_uri + '/' + self.filename + '/recognize?url=' + url if symbology: str_uri += '&type=' + symbology 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', 'x-aspose-client': 'PYTHONSDK/v1.0' }).json() return response['Barcodes'] if response['Code'] == 200 else False
def read(self, symbology=None, remote_folder='', storage_type='Aspose', storage_name=None): """ Read a Barcode :param symbology: :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 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 set_property(self, property_name, property_value, remote_folder='', storage_type='Aspose', storage_name=None): """ :param property_name: :param property_value: :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: """ json_data = json.dumps({'Value': property_value}) str_uri = self.base_uri + '/documentProperties/' + property_name str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = None try: response = requests.put(signed_uri, json_data, 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['DocumentProperty']
def extract_frame(self, frame_id, remote_folder='', storage_type='Aspose', storage_name=None): """ :param frame_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 + '/frames/' + str(frame_id) + '?saveOtherFrames=false' 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: output_path = AsposeApp.output_path + Utils.get_filename(self.filename) + '_frame_' + str(frame_id) + '.tiff' Utils.save_file(response, output_path) return output_path else: return validate_output return response
def replace_text(self, slide_number, old_text, new_text, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :param old_text: :param new_text: :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 + '/slides/' + str(slide_number) + '/replaceText' str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) json_data = json.dumps({'OldValue': old_text, 'NewValue': new_text}) signed_uri = Utils.sign(str_uri) response = None try: response = requests.post(signed_uri, json_data, 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 True else: return validate_output
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
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']
def convert_drawing_object(self, object_index, render_format, remote_folder='', storage_type='Aspose', storage_name=None): """ :param object_index: :param render_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 + '/drawingObjects/' + str(object_index) + '?format=' + render_format 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' }) 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: return Utils.save_file(response, AsposeApp.output_path + Utils.get_filename(self.filename) + '_' + str(object_index) + '.' + render_format) else: return validate_output
def get_bookmark(self, bookmark_name, remote_folder='', storage_type='Aspose', storage_name=None): """ :param bookmark_name: :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 bookmark_name: raise ValueError("bookmark_name not specified") str_uri = self.base_uri + '/bookmarks/' + bookmark_name 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['Bookmark']
def save_as(self, options_xml, remote_folder='', storage_type='Aspose', storage_name=None): """ :param options_xml: :param remote_folder: :param storage_type: :param storage_name: :return: """ str_uri = self.base_uri + '/saveAs' 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, options_xml, headers={ 'content-type': 'application/xml', '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(response['SaveResult']['DestDocument']['Href'], response['SaveResult']['DestDocument']['Href'], remote_folder, storage_type, storage_name) else: return validate_output
def append_document(self, doc_list, remote_folder='', storage_type='Aspose', storage_name=None): """ :param doc_list: :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' str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) json_data = json.dumps(doc_list) signed_uri = Utils.sign(str_uri) response = None try: response = requests.post(signed_uri, json_data, 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
def get_properties(self, 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 = self.base_uri + '/properties' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response
def get_shape(self, slide_number, shape_index, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :param shape_index: :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 slide_number: raise ValueError("slide_number not specified") if not shape_index: raise ValueError("shape_index not specified") str_uri = self.base_uri + '/slides/' + str(slide_number) + '/shapes/' + str(shape_index) 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['Shape']
def delete_property(self, property_name, remote_folder='', storage_type='Aspose', storage_name=None): """ :param property_name: :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 + '/documentProperties/' + property_name str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = None try: response = requests.delete(signed_uri, 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 True if response['Code'] == 200 else False
def add_attachment(self, attachment_name, remote_folder='', storage_type='Aspose', storage_name=None): """ :param attachment_name: :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 + '/attachments/' + attachment_name 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 get_text_items(self, slide_number, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :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 + '/slides/' + str(slide_number) + '/textItems' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['TextItems']['Items'] if response['TextItems']['Items'] else False
def get_page_setup(self, section_id, remote_folder='', storage_type='Aspose', storage_name=None): """ :param section_id: :param remote_folder: :param storage_type: :param storage_name: :return: """ str_uri = self.base_uri + '/sections/' + str(section_id) + '/pageSetup' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['PageSetup']
def get_placeholder_count(self, slide_number, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :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 slide_number: raise ValueError("slide_number not specified") str_uri = self.base_uri + '/slides/' + str(slide_number) + '/placeholders' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return len(response['Placeholders']['PlaceholderLinks']) if response['Placeholders']['PlaceholderLinks'] else 0
def execute_template(self, str_xml, with_regions=False, remote_folder='', storage_type='Aspose', storage_name=None): """ :param str_xml: :param with_regions: :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 str_xml: raise ValueError("str_xml not specified") str_uri = self.base_uri + '/executeTemplate' str_uri = str_uri + '?withRegions=true' if with_regions else str_uri 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, str_xml, headers={ 'content-type': 'application/xml', '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
def get_tiff_frame_properties(self, frame_id, remote_folder='', storage_type='Aspose', storage_name=None): """ :param frame_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 + '/frames/' + str(frame_id) + '/properties' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response
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 delete_property(self, property_name, remote_folder='', storage_type='Aspose', storage_name=None): """ :param property_name: :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 + '/documentProperties/' + property_name str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = None try: response = requests.delete(signed_uri, 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 True if response['Code'] == 200 else False
def get_shape(self, slide_number, shape_index, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :param shape_index: :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 slide_number: raise ValueError("slide_number not specified") if not shape_index: raise ValueError("shape_index not specified") str_uri = self.base_uri + '/slides/' + str(slide_number) + '/shapes/' + str(shape_index) 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['Shape']
def read_from_url(self, url, symbology=None, remote_folder='', storage_type='Aspose', storage_name=None): """ Read a Barcode :param url: :param symbology: :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 url: raise ValueError("url not specified") str_uri = self.base_uri + '/' + self.filename + '/recognize?url=' + url if symbology: str_uri += '&type=' + symbology 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', 'x-aspose-client' : 'PYTHONSDK/v1.0' }).json() return response['Barcodes'] if response['Code'] == 200 else False
def get_outline_codes(self, 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 = self.base_uri + '/outlineCodes' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['OutlineCodes']
def delete_extended_attribute(self, attribute_id, remote_folder='', storage_type='Aspose', storage_name=None): """ :param attribute_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 + '/extendedAttributes/' + attribute_id str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = None try: response = requests.delete(signed_uri, 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
def upload_file(self, local_file, remote_folder='', storage_type='Aspose', storage_name=None): """ Upload a local file to cloud storage. :param local_file: :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: returns True or False """ if not local_file: raise ValueError("local_file not specified.") filename = os.path.basename(local_file) str_uri = self.str_uri_file if remote_folder: str_uri = str_uri + remote_folder + '/' str_uri += filename str_uri = Utils.append_storage(str_uri, '', storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = Utils.upload_file_binary(local_file, signed_uri).json() if response['Status'] == 'OK': return True else: return False
def add_link(self, link_data, remote_folder='', storage_type='Aspose', storage_name=None): """ :param link_data: :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 + '/taskLinks' str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) json_data = json.dumps(link_data) signed_uri = Utils.sign(str_uri) response = None try: response = requests.post(signed_uri, json_data, 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 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 change_slide_position(self, old_position, new_position, remote_folder='', storage_type='Aspose', storage_name=None): """ :param old_position: :param new_position: :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 + '/slides?OldPosition=' + str(old_position) + '&NewPosition=' + str(new_position) 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 get_aspect_ratio(self, slide_no, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_no: :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 + '/slides/' + str(slide_no) 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['Slide']['Width'] / response['Slide']['Height'] if response['Code'] == 200 else False
def get_attachment(self, attachment_name, remote_folder='', storage_type='Aspose', storage_name=None): """ :param attachment_name: :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 attachment_name: raise ValueError("attachment_name not specified") str_uri = self.base_uri + '/attachments/' + attachment_name 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 + attachment_name Utils.save_file(response, output_path) return output_path else: return validate_output
def replace_all_text(self, old_text, new_text, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :param old_text: :param new_text: :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 + '/replaceText' str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) json_data = json.dumps({'OldValue': old_text, 'NewValue': new_text}) signed_uri = Utils.sign(str_uri) response = None try: response = requests.post(signed_uri, json_data, 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) validate_output = Utils.validate_result(response) if not validate_output: return True else: return validate_output
def get_all_text_items(self, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :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 + '/textItems' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return response['TextItems']['Items'] if response['TextItems']['Items'] else False
def merge_presentations(self, presentation_list, remote_folder='', storage_type='Aspose', storage_name=None): """ :param presentation_list: :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 + '/merge' str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) json_data = json.dumps(presentation_list) response = None try: response = requests.put(signed_uri, json_data, 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['Document'] if response['Code'] == 200 else False
def add_custom_property(self, properties_list, remote_folder='', storage_type='Aspose', storage_name=None): """ :param properties_list: :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: """ json_data = json.dumps(properties_list) str_uri = self.base_uri + '/documentProperties' 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, json_data, 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
def upload_file(self, local_file, remote_folder='', storage_type='Aspose', storage_name=None): """ Upload a local file to cloud storage. :param local_file: :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: returns True or False """ if not local_file: raise ValueError("local_file not specified.") filename = os.path.basename(local_file) str_uri = self.str_uri_file if remote_folder: str_uri = str_uri + remote_folder + '/' str_uri += filename str_uri = Utils.append_storage(str_uri, '', storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = Utils.upload_file_binary(local_file, signed_uri).json() if response['Status'] == 'OK': return True else: return False
def add_attachment(self, attachment_name, remote_folder='', storage_type='Aspose', storage_name=None): """ :param attachment_name: :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 + '/attachments/' + attachment_name 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
def set_property(self, property_name, property_value, remote_folder='', storage_type='Aspose', storage_name=None): """ :param property_name: :param property_value: :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 + '/properties/' + property_name str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) json_data = json.dumps({'Value': property_value}) signed_uri = Utils.sign(str_uri) response = None try: response = requests.put(signed_uri, json_data, 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['EmailProperty']['Value']
def delete_folder(self, folder_name, storage_type='Aspose', storage_name=None): """ Delete a folder from specified storage :param folder_name: name of the folder to operate :param storage_type: type of storage e.g Aspose, S3 :param storage_name: name of storage e.g. MyAmazonS3 :return: True or False """ if not folder_name: raise ValueError("folder_name not specified.") str_uri = self.str_uri_folder + folder_name str_uri = Utils.append_storage(str_uri, '', storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = requests.delete(signed_uri, headers={ 'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client': 'PYTHONSDK/v1.0' }).json() return True if response['Code'] == 200 else False
def read_region(self, x, y, w, h, symbology=None, remote_folder='', storage_type='Aspose', storage_name=None): """ Read a Barcode :param x: :param y: :param w: :param h: :param symbology: :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?rectX=' + str(x) + '&rectY=' + str(y) str_uri += '&rectWidth=' + str(w) + '&rectHeight=' + str(h) if symbology: str_uri += '&type=' + symbology 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', 'x-aspose-client' : 'PYTHONSDK/v1.0' }).json() return response['Barcodes'] if response['Code'] == 200 else False
def get_placeholder_count(self, slide_number, remote_folder='', storage_type='Aspose', storage_name=None): """ :param slide_number: :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 slide_number: raise ValueError("slide_number not specified") str_uri = self.base_uri + '/slides/' + str(slide_number) + '/placeholders' 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' }) response.raise_for_status() response = response.json() except requests.HTTPError as e: print e print response.content exit(1) return len(response['Placeholders']['PlaceholderLinks']) if response['Placeholders']['PlaceholderLinks'] else 0
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']
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 create_pdf(self, template_file, source_format, stream_out=False, output_filename=None, remote_folder='', storage_type='Aspose', storage_name=None): """ Create a pdf file from any supported format file e.g. html,xml,jpeg,svg,tiff :param template_file: :param source_format: :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 template_file: raise ValueError("template_file not specified") if not source_format: raise ValueError("source_format not specified") save_format = 'pdf' str_uri = self.base_uri + '?templateFile=' + template_file + '&templateType=' + source_format str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = None try: response = requests.put(signed_uri, None, 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) if not stream_out: if output_filename is None: output_filename = self.filename 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
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
def generate(self, code_text, symbology='QR', image_format='png', x_res=None, y_res=None, x_dim=None, y_dim=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 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?text=' + code_text + '&type=' + symbology + '&format=' + image_format if x_res: str_uri += '&resolutionX=' + x_res if y_res: str_uri += '&resolutionY=' + y_res if x_dim: str_uri += '&dimensionX=' + x_dim if y_dim: str_uri += '&dimensionY=' + y_dim 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', 'x-aspose-client': 'PYTHONSDK/v1.0' }, stream=True) return response
def convert_local_file(self, input_file_path, save_format, stream_out=False, output_filename=None, remote_folder='', storage_type='Aspose', storage_name=None): """ :param input_file_path: :param save_format: :param stream_out: :param output_filename: :param remote_folder: :param storage_type: :param storage_name: :return: """ str_uri = Product.product_uri + 'imaging/' + self.filename + '/saveAs?format=' + save_format 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.get(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: if not stream_out: if output_filename is None: output_filename = input_file_path save_format = 'zip' if save_format == 'html' else save_format 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
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 add_signature(self, post_data, page_number=None, stream_out=False, output_filename=None, remote_folder='', storage_type='Aspose', storage_name=None): """ Add Signature to a pdf file :param page_number: :param post_data: :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 post_data: raise ValueError("post_data not specified") str_uri = self.base_uri if page_number: str_uri += '/pages/' + page_number str_uri += '/sign' 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, post_data, 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) if not stream_out: if output_filename is None: output_filename = self.filename output_path = AsposeApp.output_path + output_filename Utils.save_file(response, output_path) return output_path else: return response.content
def update_form_field(self, field_name, field_type, field_value, remote_folder='', storage_type='Aspose', storage_name=None): """ Update Form Field Value :param fiedlname: :param field_type: :param field_value: :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 field_name: raise ValueError("field_name not specified") if not field_type: raise ValueError("field_type not specified") if not field_value: raise ValueError("field_value not specified") post_data = { 'Name': field_name, 'Type': field_type, 'Values': [field_value] } str_uri = self.base_uri + '/pages' str_uri = Utils.append_storage(str_uri, remote_folder, storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = None try: response = requests.put(signed_uri, post_data, 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['Field'] if response['Code'] == 200 else False
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
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 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 get_disc_usage(self, storage_type='Aspose', storage_name=None): """ Get the disc usage details of specified storage :param storage_type: type of storage e.g Aspose, S3 :param storage_name: name of storage e.g. MyAmazonS3 :return: list with disc usage details """ str_uri = Utils.append_storage(self.str_uri_disc, '', storage_type, storage_name) signed_uri = Utils.sign(str_uri) response = requests.get(signed_uri, headers={ 'content-type': 'application/json', 'accept': 'application/json', 'x-aspose-client' : 'PYTHONSDK/v1.0' }).json() return response['DiscUsage']