"Word error when trying to open file.
Try the following:
* Check the document and disk permissions.
* Check if you have enough memory and disk space.
* Open the file with a backup converter.
(C:\Users\user\...\output.docx)"
I have 2 classes in Python, each class has a method that generates a docx document from a template.
First (after which the file is launched) method:
- Code: Select all
def generateDocx(self, hpsm_number, fio):
print("Начинаю генерировать документ")
doc = Document() # Новый документ
doc.LoadFromFile("ManagingTheVolumeAndPlacementOfTableSpacesOfTheKPPMDatabases/template.docx") # Загрузка шаблона
moscow_time = datetime.now(pytz.timezone('Europe/Moscow')).strftime('%d.%m.%Y %H:%M') + " МСК" # Текущее время
doc.Replace("hpsm_number", hpsm_number, False, True) # Замена номера
doc.Replace("fio", fio, False, True) # Замена ФИО
doc.Replace("date_time_msk", moscow_time, False, True) # Замена времени
pictures = [] # Список изображений
for i in range(doc.Sections.Count): # Проход по секциям
sec = doc.Sections.get_Item(i)
for j in range(sec.Paragraphs.Count): # Проход по параграфам
par = sec.Paragraphs.get_Item(j)
if par.ChildObjects.Count > 0: # Проверка наличия объектов
for k in range(par.ChildObjects.Count): # Проход по объектам
docObj = par.ChildObjects.get_Item(k)
if docObj.DocumentObjectType == DocumentObjectType.Picture: # Проверка на изображение
pictures.append(docObj) # Добавление изображения
for i, picture in enumerate(pictures): # Загрузка изображений
picture.LoadImage(f"ManagingTheVolumeAndPlacementOfTableSpacesOfTheKPPMDatabases/{i}.png") # Загрузка
picture.Width = 150.0 # Ширина
picture.Height = 200.0 # Высота
doc.SaveToFile("output.docx", FileFormat.Docx) # Сохранение документа
doc.Close() # Закрытие документа
Second (after which the file does not run) method:
- Code: Select all
def generateDocx(self, hpsm_number, fio):
"""Генерация документа .docx с заданными параметрами."""
print("Начинаю генерировать документ")
doc = Document() # Создание нового документа
doc.LoadFromFile("ComputingEnvironmentAnalysisAISKP/template.docx") # Загрузка шаблона документа
# Получение текущего времени в Москве
moscow_time = datetime.now(pytz.timezone('Europe/Moscow')).strftime('%d.%m.%Y %H:%M') + " МСК"
# Замена плейсхолдеров в документе
doc.Replace("hpsm_number", hpsm_number, False, True)
doc.Replace("fio", fio, False, True)
doc.Replace("date_time_msk", moscow_time, False, True)
pictures = [] # Список для хранения загружаемых изображений
for i in range(doc.Sections.Count): # Проход по секциям документа
sec = doc.Sections.get_Item(i)
for j in range(sec.Paragraphs.Count): # Проход по параграфам
par = sec.Paragraphs.get_Item(j)
if par.ChildObjects.Count > 0: # Проверка на наличие объектов в параграфе
for k in range(par.ChildObjects.Count): # Проход по подчинённым объектам
docObj = par.ChildObjects.get_Item(k)
if docObj.DocumentObjectType == DocumentObjectType.Picture: # Проверка на изображение
pictures.append(docObj) # Добавление изображения в список
# Загрузка изображений
for i, picture in enumerate(pictures):
picture.LoadImage(f"ComputingEnvironmentAnalysisAISKP/{i}.png") # Загрузка изображения
picture.Width = 150.0 # Установка ширины изображения
picture.Height = 200.0 # Установка высоты изображения
# Сохранение документа
doc.SaveToFile("output.docx", FileFormat.Docx)
doc.Close() # Закрытие документа
With all this, the python code is executed without exceptions and errors.please help me solve this problem