Convierta documentos de Word a PDF usando REST API en Python.

Es una práctica común compartir documentos de Word en formato PDF porque PDF es un formato de uso compartido de documentos ampliamente utilizado en la industria. Puede convertir fácilmente Word a PDF utilizando la funcionalidad integrada proporcionada por Microsoft Office, pero es posible que necesite convertir sus documentos de Word (DOC o DOCX) a PDF mediante programación. En este artículo, aprenderá cómo convertir documentos de Word a PDF utilizando una API REST en Python.

En este artículo se tratarán los siguientes temas:

API REST de conversión de Word a PDF y SDK de Python

Para convertir DOCX a PDF, utilizaremos la API Python SDK de GroupDocs.Conversion Cloud. Es una solución de conversión de documentos/imágenes independiente de la plataforma y no depende de ninguna herramienta o software. Le permite convertir de forma rápida y fiable imágenes y documentos de cualquier formato de archivo compatible a cualquier formato que necesite.

Puede instalar GroupDocs.Conversion Cloud en su aplicación Python usando el siguiente comando en la consola:

pip install groupdocs_conversion_cloud

Por favor, obtenga su ID de cliente y secreto del tablero antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_conversion_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Convierta documentos de Word a PDF usando una API REST en Python

Puede convertir sus documentos de Word a PDF mediante programación en la nube siguiendo los sencillos pasos que se detallan a continuación:

  1. Subir el archivo DOCX a la nube
  2. Convertir DOCX a PDF usando Python
  3. Descargar el archivo PDF convertido

Sube el archivo DOCX

En primer lugar, cargue el archivo DOCX en la nube utilizando el siguiente ejemplo de código:

# Crear instancia de la API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# cargar solicitud de archivo
request = groupdocs_conversion_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Conversion\\sample.docx", my_storage)

# cargar archivo de muestra
response = file_api.upload_file(request)

Como resultado, el archivo DOCX cargado estará disponible en la sección de archivos de su tablero en la nube.

Convierta DOCX a PDF usando Python

Puede convertir fácilmente un documento DOCX a PDF mediante programación siguiendo los pasos que se mencionan a continuación:

  • En primer lugar, cree una instancia de ConvertApi.
  • Ahora, cree una instancia de ConvertSettings.
  • Luego, proporcione la ruta del archivo DOCX de entrada.
  • Establezca el formato como “pdf”.
  • Proporcione la ruta del archivo de salida.
  • Ahora, cree ConvertDocumentRequest con ConvertSettings.
  • Finalmente, convierta DOCX llamando al método convert\document() con ConvertDocumentRequest.

El siguiente ejemplo de código muestra cómo convertir DOCX a PDF usando una API REST en Python.

# Crear una instancia de la API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir la configuración de conversión
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Crear solicitud de documento de conversión
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Convertir documento
result = convert_api.convert_document(request)

# Hecho
print("Document converted: " + result[0].path)
Convierta documentos de Word a PDF usando una API REST en Python

Convierta documentos de Word a PDF usando una API REST en Python.

Descargar el archivo convertido

El ejemplo de código anterior guardará el archivo PDF convertido en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:

# Inicialización de la API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# Crear solicitud de archivo de descarga
request = groupdocs_conversion_cloud.DownloadFileRequest("converted\\sample.pdf", my_storage)

# Descargar archivo
response = file_api.download_file(request)

# Mueva el archivo descargado a su directorio de trabajo
shutil.move(response, "C:\\Files\\Conversion\\")

Conversión de Word a PDF con opciones avanzadas

Puede convertir documentos de Word a archivos PDF con algunas configuraciones avanzadas siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de ConvertApi.
  • Ahora, cree una instancia de ConvertSettings.
  • Luego, proporcione la ruta del archivo DOCX.
  • Establezca el “pdf” como formato.
  • Proporcione la ruta del archivo de salida.
  • Ahora, cree una instancia de DocxLoadOptions
  • Opcionalmente, establezca varias opciones de carga, como ocultar\comentarios, ocultar\palabra\seguimiento\cambios, etc.
  • Ahora, cree una instancia de PdfConvertOptions
  • Luego, configure varias opciones de conversión, como mostrar\doc\título, márgenes (superior, izquierdo, derecho, inferior), etc.
  • Ahora, cree ConvertDocumentRequest con ConvertSettings
  • Finalmente, convierta DOCX llamando al método convert\document() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir un documento de Word en un documento PDF con opciones de conversión avanzadas. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

# Crear una instancia de la API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir la configuración de conversión
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Opciones de carga DOCX
loadOptions = groupdocs_conversion_cloud.DocxLoadOptions()
loadOptions.hide_comments = True              # Hide comments
loadOptions.hide_word_tracked_changes = True  # Hide tracked changes

# Opciones de conversión de PDF
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.center_window = True
convertOptions.compress_images = False
convertOptions.display_doc_title = True
convertOptions.dpi = 1024.0
convertOptions.fit_window = False
convertOptions.from_page = 1
convertOptions.grayscale = False
convertOptions.image_quality = 100
convertOptions.linearize = False
convertOptions.margin_top = 5
convertOptions.margin_left = 5
convertOptions.unembed_fonts = True
convertOptions.remove_unused_streams = True
convertOptions.remove_unused_objects = True
convertOptions.remove_pdfa_compliance = False

settings.convert_options = convertOptions

# Convertir solicitud de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Convertir documento
result = convert_api.convert_document(request)

# Hecho
print("Document converted: " + result[0].path)

Convertir rango de páginas de DOCX a PDF en Python

Puede convertir un rango de páginas de un documento de Word a un archivo PDF mediante programación siguiendo los pasos que se mencionan a continuación:

  • En primer lugar, cree una instancia de ConvertApi
  • Ahora, cree una instancia de ConvertSettings
  • Luego, proporcione la ruta del archivo DOCX de entrada
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Ahora, cree una instancia de PdfConvertOptions
  • Luego, proporcione un rango de páginas para convertir desde el número de página de inicio y el total de páginas para convertir
  • Ahora, asigne PdfConvertOptions a ConvertSettings
  • Luego, cree ConvertDocumentRequest con ConvertSettings
  • Finalmente, convierta llamando al método convert\document() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir un rango de páginas de DOCX a PDF usando una API REST en Python. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

# Crear una instancia de API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir la configuración de conversión
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Opciones de conversión de PDF
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.from_page = 1;    # start page number
convertOptions.pages_count = 2;  # total pages to convert

settings.convert_options = convertOptions

# Convertir solicitud de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Convertir documento
result = convert_api.convert_document(request)

# Hecho
print("Document converted: " + result[0].path)

Convierta páginas específicas de DOCX a PDF en Python

Puede convertir páginas específicas de un documento de Word en un archivo PDF mediante programación siguiendo los pasos que se mencionan a continuación:

  • En primer lugar, cree una instancia de ConvertApi
  • Ahora, cree una instancia de ConvertSettings
  • Luego, proporcione la ruta del archivo DOCX de entrada
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Ahora, cree una instancia de PdfConvertOptions
  • Luego, proporcione números de página específicos en una matriz separada por comas para convertir
  • Ahora, asigne PdfConvertOptions a ConvertSettings
  • Luego, cree ConvertDocumentRequest con ConvertSettings
  • Finalmente, convierta llamando al método convert\cocument() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir páginas específicas de un documento de Word a PDF usando una API REST en Python. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

# Crear una instancia de API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir la configuración de conversión
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Opciones de conversión de PDF
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.pages = [1,2];  # page numbers to convert

settings.convert_options = convertOptions

# Convertir solicitud de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Convertir documento
result = convert_api.convert_document(request)

# Hecho
print("Document converted: " + result[0].path)

Conversión de Word a PDF con marca de agua usando Python

Puede convertir documentos de Word a documentos PDF y agregar marcas de agua a documentos convertidos mediante programación siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de ConvertApi
  • Ahora, cree una instancia de ConvertSettings
  • Luego, proporcione la ruta del archivo DOCX de entrada
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Ahora, cree una instancia de WatermarkOptions
  • Luego, configure el texto de la marca de agua, el color, el ancho, la altura, la izquierda, la parte superior, etc.
  • Ahora, defina PdfConvertOptions y asigne WatermarkOptions
  • Ahora, cree ConvertDocumentRequest con ConvertSettings
  • Finalmente, convierta DOCX llamando al método convert\document() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir un documento de Word en un documento PDF y agregar una marca de agua al documento PDF convertido mediante una API REST en Python. Siga los pasos mencionados anteriormente para cargar y descargar archivos.

# Inicialización de la API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir la configuración de conversión
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Definir opciones de marca de agua
watermark = groupdocs_conversion_cloud.WatermarkOptions()
watermark.text = "THIS IS SAMPLE WATERMARK"
watermark.bold = True;
watermark.font_size = 34;
watermark.color = "Gray";
watermark.background = False;
watermark.rotation_angle = 30;
watermark.left = 90;
watermark.top = 500;

# Definir opciones de conversión de PDF
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.watermark_options = watermark

settings.convert_options = convertOptions

# Crear solicitud de documento de conversión
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Convertir documento
result = convert_api.convert_document(request)
print("Document converted successfully: " + result[0].url)
Conversión de Word a PDF con marca de agua usando Python.

Conversión de Word a PDF con marca de agua usando Python.

Conversión de DOCX a PDF sin usar Cloud Storage

Puede convertir un documento de Word a PDF sin usar el almacenamiento en la nube pasándolo en el cuerpo de la solicitud y recibiendo el archivo de salida en la respuesta de la API. Siga los pasos que se mencionan a continuación para convertir un DOCX a PDF sin usar el almacenamiento en la nube.

  • En primer lugar, cree una instancia de ConvertApi
  • Lea el archivo DOCX de entrada desde la ruta local
  • Ahora, cree ConvertDocumentDirectRequest
  • Luego, proporcione el formato de destino como “pdf” y la ruta del archivo de entrada como parámetros de entrada
  • Obtenga resultados llamando al método convert\document\direct() con ConvertDocumentDirectRequest
  • Finalmente, guarde el archivo de salida en la ruta local usando el método FileStream.writeFile()

El siguiente ejemplo de código muestra cómo convertir un documento de Word a PDF sin utilizar el almacenamiento en la nube.

# Crear una instancia de API
convert_api = groupdocs_conversion_cloud.ConvertirApi.from_keys(client_id, client_secret)

# Crear solicitud de conversión
request = groupdocs_conversion_cloud.ConvertirDocumentDirectRequest("pdf", "C:\\Files\\Conversion\\sample.docx")

# Convertir
result = convert_api.convert_document_direct(request)

# Mueva el archivo descargado a su directorio de trabajo
shutil.move(result, "C:\\Files\\Conversion\\")

Convierta DOCX a PDF y descárguelo directamente

Puede convertir documentos DOCX a PDF mediante programación y descargar el archivo convertido directamente siguiendo los pasos que se indican a continuación:

  • En primer lugar, cree una instancia de ConvertApi
  • Ahora, cree una instancia de ConvertSettings
  • Luego, configure la ruta del archivo DOCX
  • Asignar “pdf” al formato
  • Establezca “Ninguno” en la ruta de salida
  • Ahora, cree ConvertDocumentRequest con ConvertSettings
  • Luego, obtenga resultados llamando al método convert\document\download()
  • Opcionalmente, guarde el archivo de salida en la ruta local usando el método shutil.move()

El siguiente ejemplo de código muestra cómo convertir un archivo DOCX en un documento PDF y descargarlo directamente usando una API REST en Python. La API devolverá el archivo PDF convertido en respuesta. Siga los pasos mencionados anteriormente para cargar un archivo.

# Crear las instancias de API necesarias
convert_api = groupdocs_conversion_cloud.ConvertirApi.from_keys(client_id, client_secret)

# Definir la configuración de conversión
settings = groupdocs_conversion_cloud.ConvertirSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"

settings.output_path = None    # leave OutputPath will result the output as document IOStream

# Crear solicitud de conversión
request = groupdocs_conversion_cloud.ConvertirDocumentRequest(settings)

# Convertir
response = convert_api.convert_document_download(request)

# Mueva el archivo descargado a su directorio de trabajo
shutil.move(response, "C:\\Files\\Conversion\\")

Prueba en línea

Pruebe la siguiente herramienta gratuita de conversión de DOCX a PDF en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/conversion/docx-to-pdf

Conclusión

En este artículo, ha aprendido cómo convertir documentos de Word a archivos PDF en la nube. También ha visto cómo convertir páginas específicas o un rango de páginas de un DOCX a un PDF usando Python. Este artículo también explicó cómo cargar mediante programación el archivo DOCX en la nube y luego descargar el archivo PDF convertido desde la nube. Además, puede obtener más información sobre GroupDocs.Conversion Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también