Converta documentos do Word em PDF usando a API REST em Python.

É uma prática comum compartilhar documentos do Word em formato PDF porque PDF é um formato de compartilhamento de documentos amplamente utilizado na indústria. Você pode facilmente converter Word para PDF usando a funcionalidade integrada fornecida pelo Microsoft Office, mas pode ser necessário converter seus documentos do Word (DOC ou DOCX) em PDF programaticamente. Neste artigo, você aprenderá como converter documentos do Word em PDF usando uma API REST em Python.

Os seguintes tópicos serão abordados neste artigo:

API REST de conversão de Word para PDF e SDK do Python

Para converter DOCX em PDF, usaremos a API Python SDK of GroupDocs.Conversion Cloud. É uma solução de conversão de documento/imagem independente de plataforma e não depende de nenhuma ferramenta ou software. Ele permite que você converta de forma rápida e confiável imagens e documentos de qualquer formato de arquivo suportado para qualquer formato que você precisar.

Você pode instalar o GroupDocs.Conversion Cloud em seu aplicativo Python usando o seguinte comando no console:

pip install groupdocs_conversion_cloud

Por favor, obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

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 = ""

Converter documentos do Word em PDF usando uma API REST em Python

Você pode converter seus documentos do Word em PDF programaticamente na nuvem seguindo as etapas simples abaixo:

  1. Upload o arquivo DOCX para a nuvem
  2. Converter DOCX para PDF usando Python
  3. Baixe o arquivo PDF convertido

Carregar o arquivo DOCX

Em primeiro lugar, carregue o arquivo DOCX na nuvem usando o seguinte exemplo de código:

# Criar instância da API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# solicitação de upload de arquivo
request = groupdocs_conversion_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Conversion\\sample.docx", my_storage)

# carregar arquivo de amostra
response = file_api.upload_file(request)

Como resultado, o arquivo DOCX carregado estará disponível na seção de arquivos do seu painel na nuvem.

Converter DOCX para PDF usando Python

Você pode facilmente converter documentos DOCX em PDF programaticamente seguindo as etapas mencionadas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi.
  • Agora, crie uma instância do ConvertSettings.
  • Em seguida, forneça o caminho do arquivo DOCX de entrada.
  • Defina o formato como “pdf”.
  • Forneça o caminho do arquivo de saída.
  • Agora, crie ConvertDocumentRequest com ConvertSettings.
  • Por fim, converta DOCX chamando o método convert\document() com ConvertDocumentRequest.

O exemplo de código a seguir mostra como converter DOCX em PDF usando uma API REST em Python.

# Criar uma instância da API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Criar solicitação de conversão de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Converter documento
result = convert_api.convert_document(request)

# Feito
print("Document converted: " + result[0].path)
Converter documentos do Word em PDF usando uma API REST em Python

Converta documentos do Word em PDF usando uma API REST em Python.

Baixe o arquivo convertido

O exemplo de código acima salvará o arquivo PDF convertido na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

# inicialização da API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# Criar solicitação de arquivo de download
request = groupdocs_conversion_cloud.DownloadFileRequest("converted\\sample.pdf", my_storage)

# ⇬ Fazer download do arquivo
response = file_api.download_file(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\Conversion\\")

Conversão de Word para PDF com opções avançadas

Você pode converter documentos do Word em arquivos PDF com algumas configurações avançadas seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi.
  • Agora, crie uma instância do ConvertSettings.
  • Em seguida, forneça o caminho do arquivo DOCX.
  • Defina o “pdf” como formato.
  • Forneça o caminho do arquivo de saída.
  • Agora, crie uma instância do DocxLoadOptions
  • Opcionalmente, defina várias opções de carregamento, como ocultar\comentários, ocultar\palavra\rastreado\alterações, etc.
  • Agora, crie uma instância do PdfConvertOptions
  • Em seguida, defina várias opções de conversão, como display\doc\title, margens (superior, esquerda, direita, inferior), etc.
  • Agora, crie ConvertDocumentRequest com ConvertSettings
  • Finalmente, converta DOCX chamando o método convert\document() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter um documento do Word em um documento PDF com opções avançadas de conversão. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

# Criar uma instância da API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Opções de carregamento DOCX
loadOptions = groupdocs_conversion_cloud.DocxLoadOptions()
loadOptions.hide_comments = True              # Hide comments
loadOptions.hide_word_tracked_changes = True  # Hide tracked changes

# Opções de conversão 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

# Converter solicitação de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Converter documento
result = convert_api.convert_document(request)

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

Converter intervalo de páginas de DOCX para PDF em Python

Você pode converter um intervalo de páginas de um documento do Word em um arquivo PDF programaticamente seguindo as etapas mencionadas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi
  • Agora, crie uma instância do ConvertSettings
  • Em seguida, forneça o caminho do arquivo DOCX de entrada
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Agora, crie uma instância do PdfConvertOptions
  • Em seguida, forneça um intervalo de páginas para converter do número da página inicial e o total de páginas para converter
  • Agora, atribua PdfConvertOptions a ConvertSettings
  • Em seguida, crie ConvertDocumentRequest com ConvertSettings
  • Finalmente, converta chamando o método convert\document() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter um intervalo de páginas de um DOCX para PDF usando uma API REST em Python. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

# Criar uma instância de API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Opções de conversão 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

# Converter solicitação de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Converter documento
result = convert_api.convert_document(request)

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

Converter páginas específicas de DOCX para PDF em Python

Você pode converter páginas específicas de um documento do Word em um arquivo PDF programaticamente seguindo as etapas mencionadas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi
  • Agora, crie uma instância do ConvertSettings
  • Em seguida, forneça o caminho do arquivo DOCX de entrada
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Agora, crie uma instância do PdfConvertOptions
  • Em seguida, forneça números de página específicos em uma matriz separada por vírgulas para converter
  • Agora, atribua PdfConvertOptions a ConvertSettings
  • Em seguida, crie ConvertDocumentRequest com ConvertSettings
  • Finalmente, converta chamando o método convert\cocument() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter páginas específicas de um documento do Word em PDF usando uma API REST em Python. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

# Criar uma instância de API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Opções de conversão de PDF
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.pages = [1,2];  # page numbers to convert

settings.convert_options = convertOptions

# Converter solicitação de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Converter documento
result = convert_api.convert_document(request)

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

Conversão de Word para PDF com marca d’água usando Python

Você pode converter documentos do Word em documentos PDF e adicionar marcas d’água aos documentos convertidos programaticamente seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi
  • Agora, crie uma instância do ConvertSettings
  • Em seguida, forneça o caminho do arquivo DOCX de entrada
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Agora, crie uma instância do WatermarkOptions
  • Em seguida, defina o texto da marca d’água, cor, largura, altura, esquerda, superior, etc.
  • Agora, defina o PdfConvertOptions e atribua WatermarkOptions
  • Agora, crie ConvertDocumentRequest com ConvertSettings
  • Finalmente, converta DOCX chamando o método convert\document() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter um documento do Word em um documento PDF e adicionar uma marca d’água ao documento PDF convertido usando uma API REST em Python. Siga as etapas mencionadas anteriormente para fazer upload e download de arquivos.

# inicialização da API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Definir configurações de conversão
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"
settings.output_path = "converted"

# Definir opções de marca d'água
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 opções de conversão de PDF
convertOptions = groupdocs_conversion_cloud.PdfConvertOptions()
convertOptions.watermark_options = watermark

settings.convert_options = convertOptions

# Criar solicitação de conversão de documento
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# Converter documento
result = convert_api.convert_document(request)
print("Document converted successfully: " + result[0].url)
Conversão de Word para PDF com marca d'água usando Python.

Conversão de Word para PDF com marca d’água usando Python.

Conversão de DOCX para PDF sem usar armazenamento em nuvem

Você pode converter um documento do Word em PDF sem usar o armazenamento em nuvem passando-o no corpo da solicitação e recebendo o arquivo de saída na resposta da API. Siga as etapas mencionadas abaixo para converter um DOCX em PDF sem usar o armazenamento em nuvem.

  • Em primeiro lugar, crie uma instância do ConvertApi
  • Leia o arquivo DOCX de entrada do caminho local
  • Agora, crie ConvertDocumentDirectRequest
  • Em seguida, forneça o formato de destino como “pdf” e o caminho do arquivo de entrada como parâmetros de entrada
  • Obtenha resultados chamando o método convert\document\direct() com ConvertDocumentDirectRequest
  • Por fim, salve o arquivo de saída no caminho local usando o método FileStream.writeFile()

O exemplo de código a seguir mostra como converter um documento do Word em PDF sem usar o armazenamento em nuvem.

# Criar uma instância de API
convert_api = groupdocs_conversion_cloud.ConverterApi.from_keys(client_id, client_secret)

# Criar solicitação de conversão
request = groupdocs_conversion_cloud.ConverterDocumentDirectRequest("pdf", "C:\\Files\\Conversion\\sample.docx")

# Converter
result = convert_api.convert_document_direct(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(result, "C:\\Files\\Conversion\\")

Converta DOCX para PDF e baixe diretamente

Você pode converter documentos DOCX em PDF programaticamente e baixar o arquivo convertido diretamente seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância de ConvertApi
  • Agora, crie uma instância do ConvertSettings
  • Em seguida, defina o caminho do arquivo DOCX
  • Atribuir “pdf” ao formato
  • Defina “Nenhum” para o caminho de saída
  • Agora, crie ConvertDocumentRequest com ConvertSettings
  • Em seguida, obtenha resultados chamando o método convert\document\download()
  • Opcionalmente, salve o arquivo de saída no caminho local usando o método shutil.move()

O exemplo de código a seguir mostra como converter um arquivo DOCX em um documento PDF e baixá-lo diretamente usando uma API REST em Python. A API deve retornar o arquivo PDF convertido em resposta. Siga as etapas mencionadas anteriormente para fazer upload de um arquivo.

# Crie instâncias de API necessárias
convert_api = groupdocs_conversion_cloud.ConverterApi.from_keys(client_id, client_secret)

# Definir configurações de conversão
settings = groupdocs_conversion_cloud.ConverterSettings()
settings.file_path = "sample.docx"
settings.format = "pdf"

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

# Criar solicitação de conversão
request = groupdocs_conversion_cloud.ConverterDocumentRequest(settings)

# Converter
response = convert_api.convert_document_download(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\Conversion\\")

Experimente on-line

Experimente a seguinte ferramenta de conversão online gratuita de DOCX para PDF, que foi desenvolvida usando a API acima. https://products.groupdocs.app/conversion/docx-to-pdf

Conclusão

Neste artigo, você aprendeu como converter documentos do Word em arquivos PDF na nuvem. Você também viu como converter páginas específicas ou um intervalo de páginas de um DOCX para um PDF usando Python. Este artigo também explicou como carregar programaticamente o arquivo DOCX na nuvem e, em seguida, baixar o arquivo PDF convertido da nuvem. Além disso, você pode aprender mais sobre GroupDocs.Conversion Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também