from docx import Document
from docx.shared import Pt
from docx.oxml.ns import qn
from docx.oxml import OxmlElement

# Funkcja do normalizacji stylu tekstu
def normalize_style(paragraph):
    for run in paragraph.runs:
        run.font.name = 'Arial'  # Czcionka
        run._element.rPr.rFonts.set(qn('w:eastAsia'), 'Arial')
        run.font.size = Pt(12)  # Rozmiar czcionki
        run.font.bold = False  # Wyłącz pogrubienie
        run.font.italic = False  # Wyłącz kursywę

def merge_documents(file_list, output_file):
    merged_document = Document()

    for file in file_list:
        doc = Document(file)
        for paragraph in doc.paragraphs:
            # Normalizuj styl
            normalize_style(paragraph)
            # Dodaj paragraf do dokumentu wyjściowego
            merged_paragraph = merged_document.add_paragraph(paragraph.text)
            # Skopiuj styl
            normalize_style(merged_paragraph)

        # Dodaj stronę przerwy między rozdziałami
        merged_document.add_page_break()

    # Zapisz połączony dokument
    merged_document.save(output_file)

# Lista plików do połączenia
file_list = ['rozdzial1.docx', 'rozdzial2.docx', 'rozdzial3.docx']

# Nazwa pliku wyjściowego
output_file = 'polaczony_dokument.docx'

# Połącz dokumenty
merge_documents(file_list, output_file)

print(f"Dokument zapisany jako {output_file}")
