I am trying to convert ppt file into pdf and then save it into a file. I am able to upload to the cloud of GroupDocs, Convert to PDF, but last step, download the file doesnt work. Some errors that gives me are my folder doesnt exist and I cant find PDF downloaded in any place.
def generate_and_save_pptx(self):
# Ruta del PPTX a modificar
pptx_template_path = 'panel/templates/originals/Prueba.pptx'
presentation = Presentation(pptx_template_path)
# modifico ppt
self.modify_presentation(presentation)
# Ruta PDF final
pdf_filename = f'{self.client.name} - {self.type_submission.name}_tutorial.pdf'
pptx_filename = f'{self.client.name} - {self.type_submission.name}_tutorial.pptx'
pdf_path = submission_directory_path(self, pdf_filename)
my_storage = "FilesToConvert"
pdf_cloud_path = f'FilesToConvert/{pdf_filename}' # Usar / en lugar de \
# Crear un archivo temporal para guardar el PPTX
with tempfile.NamedTemporaryFile(delete=False, suffix=".pptx") as temp_pptx:
temp_pptx_path = temp_pptx.name
presentation.save(temp_pptx_path)
try:
# Crea una instancia de la api
file_api = FileApi(Configuration(app_sid, app_key))
# Subir el archivo
upload_request = UploadFileRequest(pptx_filename, temp_pptx_path, my_storage)
file_api.upload_file(upload_request)
except ApiException as e:
print(f"Error durante la carga del archivo PPTX: {e}")
try:
# Crear una instancia de la API
convert_api = ConvertApi.from_keys(app_sid, app_key)
# Configurar las opciones de conversión
convert_settings = ConvertSettings()
convert_settings.file_path = pptx_filename # El nombre del archivo subido
convert_settings.format = "pdf"
convert_settings.output_path = my_storage
# Crear la solicitud de conversión del documento
convert_request = ConvertDocumentRequest(convert_settings)
# Convertir el documento
convert_api.convert_document(convert_request)
except ApiException as e:
print(f"Error durante la conversión a PDF: {e}")
try:
# Descargar el archivo convertido
download_request = DownloadFileRequest(pdf_cloud_path, my_storage) # path y nombre de almacenamiento nube
response = file_api.download_file(download_request)
with default_storage.open(pdf_path, 'wb') as pdf_file:
pdf_file.write(response)
except ApiException as e:
print(f"Error durante la descarga del archivo convertido: {e}")