Visão Geral

Unir documentos do Word é uma necessidade comum em muitas aplicações, seja para combinar relatórios, consolidar informações, ou simplesmente simplificar a gestão de documentos. Neste artigo, exploraremos como unir arquivos DOCX usando Python com a biblioteca GroupDocs.Merger. Esta poderosa biblioteca permite que os desenvolvedores manipulem documentos do Word programaticamente, garantindo ao mesmo tempo alto desempenho e precisão.

Este guia cobrirá:

Como unir vários arquivos DOCX

Unir vários arquivos DOCX é simples com a biblioteca GroupDocs.Merger. Abaixo, descrevemos os principais passos envolvidos neste processo:

  1. Importar o pacote GroupDocs.Merger: Comece importando a biblioteca necessária.
  2. Criar uma instância do Merger: Instancie a classe Merger usando o caminho do primeiro arquivo DOCX.
  3. Juntar documentos adicionais: Use o método join para adicionar outros arquivos DOCX que deseja unir.
  4. Salvar o documento unido: Por fim, chame o método save para escrever o documento unido em um caminho de saída especificado.

Aqui está um fragmento de código Python demonstrando esses passos:

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Exemplo de Uso Básico] # OperaçõesMúltiplosDocumentos # Unir : Docx")

    # Passo 1: Criar um objeto Merger com o primeiro documento
    with gm.Merger(constants.sample_docx) as merger:
        print(f"Informações do documento recuperadas com sucesso")
        
        # Passo 2: Juntar outro arquivo DOCX para unir
        merger.join(constants.sample_docx)
        
        # Passo 3: Salvar o documento unido
        merger.save(constants.output_docx)
        print(f"Unir para: {constants.output_docx}")
    
    print(f"----------------------------------------------------------------------------")

Unir documentos DOCX sem quebras de seção

Às vezes, unir documentos exige que o conteúdo seja unido sem inserir quebras de seção. Isso pode ajudar a manter o fluxo de informações nos documentos unidos.

  1. Criar uma instância do Merger: Assim como antes, inicialize a classe Merger.
  2. Definir opções de união: Defina WordJoinOptions e defina o mode para DISABLE_SECTION_BREAKS.
  3. Juntar documentos: Adicione o documento adicional para unir.
  4. Salvar o resultado: Escreva a saída final em um novo arquivo DOCX.

Veja como você pode fazer isso:

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Exemplo de Uso Básico] # OperaçõesMúltiplosDocumentos # Unir # Word : UnirDocumentosWordSemQuebrasDeSeção")

    # Passo 1: Criar um objeto Merger com o documento de origem
    with gm.Merger(constants.sample_doc) as merger:
        print(f"Informações do documento recuperadas com sucesso")
        
        # Passo 2: Definir opções de união Word para desativar quebras de seção
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.mode = gm.domain.options.WordJoinMode.DISABLE_SECTION_BREAKS
        
        # Passo 3: Juntar o documento sem quebras de seção
        merger.join(constants.sample_doc, word_join_options)
        
        # Passo 4: Salvar o documento unido
        merger.save(constants.output_doc_without_section_breaks)
        print(f"Unir para: {constants.output_doc_without_section_breaks}")
    
    print(f"----------------------------------------------------------------------------")

Unir documentos DOCX com modos de conformidade pré-definidos

Para casos de uso específicos, pode ser necessário que os documentos cumpram certos padrões. O GroupDocs.Merger permite unir documentos com modos de conformidade pré-definidos para garantir, por exemplo, que a saída atenda aos padrões ISO.

  1. Criar uma instância do Merger: Inicialize a classe Merger com seu documento base.
  2. Definir modo de conformidade: Crie um objeto WordJoinOptions e defina a propriedade compliance.
  3. Juntar documentos: Adicione o documento adicional usando o método de união.
  4. Salvar o documento final: Salve-o no local desejado.

Aqui está o código para esta operação:

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Exemplo de Uso Básico] # OperaçõesMúltiplosDocumentos # Unir # Word : UnirDocumentosWordComModoDeConformidadePréDefinido")

    # Passo 1: Criar um objeto Merger com o documento
    with gm.Merger(constants.sample_docx) as merger:
        print(f"Informações do documento recuperadas com sucesso")
        
        # Passo 2: Definir opções de união Word com modo de conformidade pré-definido
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
        
        # Passo 3: Juntar outro documento com modo de conformidade
        merger.join(constants.sample_docx, word_join_options)
        
        # Passo 4: Salvar o documento unido
        merger.save(constants.output_docx_with_predefined_compliance_mode)
        print(f"Unir para: {constants.output_docx_with_predefined_compliance_mode}")
    
    print(f"----------------------------------------------------------------------------")

Como unir DOCX de fluxos

Você também pode unir arquivos DOCX a partir de fluxos de memória, o que pode ser útil quando você está lidando com documentos gerados dinamicamente.

  1. Obter um fluxo de arquivo: Abra seu documento em modo binário para obter o fluxo.
  2. Criar a instância do Merger: Instancie a classe Merger usando o fluxo.
  3. Executar a operação de união: Una conforme necessário e salve a saída.

Veja como você implementaria isso:

from turtle import update
import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Exemplo de Uso Avançado] # Carregando # CarregarDocumentoDeFluxo")

    # Passo 1: Obter o fluxo do documento
    stream = get_file_stream()
    
    # Passo 2: Criar uma instância do Merger usando o fluxo
    with gm.Merger(stream) as merger:
        print(f"Documento carregado do fluxo com sucesso")
    
    print(f"----------------------------------------------------------------------------")

def get_file_stream():
    file_path = constants.sample_docx
    return open(file_path, "rb")

Consulte também

Para mais detalhes, você pode explorar os seguintes recursos:

Você também pode baixar uma versão experimental gratuita em releases.groupdocs.com e adquirir uma licença temporária para experimentar a biblioteca sem restrições em Comprar Licença Temporária.

Exemplos de Código

Aqui estão alguns exemplos adicionais para ajudá-lo a entender o processo de união com a biblioteca GroupDocs.Merger para Python:

Unir Documentos Word Sem Começar de Uma Nova Página

Este exemplo demonstra como unir documentos para que a última página do primeiro documento seja seguida diretamente pela primeira página do próximo documento, sem que nenhuma nova página seja inserida entre eles.

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Exemplo de Uso Básico] # OperaçõesMúltiplosDocumentos # Unir # Word : UnirDocumentosWordSemComeçarDeUmaNovaPágina")

    # Passo 1: Criar um objeto Merger com o documento
    with gm.Merger(constants.sample_doc) as merger:
        print(f"Informações do documento recuperadas com sucesso")
        
        # Passo 2: Definir opções de união Word para modo contínuo
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.mode = gm.domain.options.WordJoinMode.CONTINUOUS
        
        # Passo 3: Juntar documentos sem inserir nova página
        merger.join(constants.sample_doc, word_join_options)
        
        # Passo 4: Salvar o documento unido
        merger.save(constants.output_doc_without_starting_from_new_page)
        print(f"Unir para: {constants.output_doc_without_starting_from_new_page}")
    
    print(f"----------------------------------------------------------------------------")

Unir Vários Documentos com Opções de União Personalizadas

Veja como unir documentos DOCX enquanto define opções de união específicas, como conformidade com um padrão ISO específico.

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Exemplo de Uso Avançado] # Unir com Opções de União Personalizadas")

    # Passo 1: Criar um objeto Merger com o documento base
    with gm.Merger(constants.sample_docx) as merger:
        print(f"Informações do documento recuperadas com sucesso")
        
        # Passo 2: Definir opções de união personalizadas para modo de conformidade pré-definido
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
        
        # Passo 3: Juntar outro documento com configurações de conformidade
        merger.join(constants.sample_docx, word_join_options)
        
        # Passo 4: Salvar o documento unido
        merger.save(constants.output_docx_with_predefined_compliance_mode)
        print(f"Unir para: {constants.output_docx_with_predefined_compliance_mode}")
    
    print(f"----------------------------------------------------------------------------")

Consulte também

Para explorar mais sobre o GroupDocs.Merger e suas funcionalidades, você pode conferir os seguintes recursos:

Avaliação Gratuita e Licença Temporária

Você pode baixar uma avaliação gratuita do GroupDocs.Merger em nossa página de releases. Além disso, você pode adquirir uma licença temporária para fins de avaliação em Comprar Licença Temporária. Esta licença temporária permite que você experimente a biblioteca sem limitações e avalie completamente suas capacidades.