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}")