def combine_word_documents(path, files): """ merge docx """ merged_document = Document() merged_document.save(path + "\\" + 'merge.docx') try: for index, file in enumerate(files): doc = Document(path + "\\" + 'merge.docx') doc.add_paragraph('{{temp_name}}') doc.add_page_break() doc.save(path + "\\" + 'merge.docx') doc = DocxTemplate(path + "\\" + '合并文件.docx') sub = doc.new_subdoc() sub.subdocx = Document(path + "\\" + file) doc.render({'temp_name': sub}) doc.save(path + "\\" + 'merge.docx') except Exception as e: pass
def convertion(ans, session_key): print(ans) document = Document() fname = f'./claims/demo_{session_key}.docx' document.save(fname) p = document.add_paragraph() p.add_run('{{court}}').bold = True p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph() p.add_run("Адрес:_____________________").bold = True p.alignment = WD_ALIGN_PARAGRAPH.RIGHT for j in ans[1]: res = re.split('\n',j) p = document.add_paragraph() p.add_run('Истец:').bold = True for i in res: p.add_run(i) p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph() if ans[2][0] != '': k = 0 for i in ans[2][1:]: res = re.split(r'[1]\d*.|\n[2,3]\d*.|\r\n[2,3]\d*.',i) res.pop(0) part1 = re.split('\n|\r\n',res[0]) p.add_run('Представитель Истца:').bold = True ans[2][k]=res[1] for j in part1: p.add_run(j) p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph() k+=1 for i in ans[3]: res = re.split('\n',i) p = document.add_paragraph() p.add_run('Ответчик:').bold = True p.alignment = WD_ALIGN_PARAGRAPH.RIGHT for j in res: p.add_run(j) p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph() if ans[4][0] != '': for i in ans[4][1:]: p.add_run('Третье лицо: ').bold = True p.alignment = WD_ALIGN_PARAGRAPH.RIGHT res = re.split('\n',i) for j in res: p.add_run(j) p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph() if ans[5] != ['']: p = document.add_paragraph() p.add_run('{{price_isk}}').bold = True p.alignment = WD_ALIGN_PARAGRAPH.RIGHT if ans[6] != ['оплачивается']: p = document.add_paragraph() p.add_run('Государственная пошлина: ').bold = True p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph() p.add_run('{{poshlina}}') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT else: p = document.add_paragraph() p.add_run('Государственная пошлина: ').bold = True p.add_run('_________') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph() p.add_run("Исковое заявление").bold = True p.alignment = WD_ALIGN_PARAGRAPH.CENTER k = 0 l = [] for i in ans[7]: res = re.split(r'[1]\d*.|\n[2,3]\d*.|\r\n[2,3]\d*.',i) res.pop(0) l.append(res) if i == ans[7][-1]: ans[7] = l break if ans[8]!=['']: l=[] for i in ans[8]: res = re.split(r'[1]\d*.|\n[2,3]\d*.',i) res.pop(0) l.append(res) if i == ans[8][-1]: ans[8] = l break p = document.add_paragraph() s = '' for i in ans[7]: s += i[0]+', ' s = s[:-2] p.add_run('о ' + s).italic = True p.alignment = WD_ALIGN_PARAGRAPH.CENTER p = document.add_paragraph("ПРОШУ:") p.alignment = WD_ALIGN_PARAGRAPH.CENTER k = 0 for i in ans[7]: res = re.split(r'\n|\r\n', i[1]) for j in res: k+=1 document.add_paragraph('%i.' %k + j) if ans[8]!= ['']: l = [] for i in ans[8]: l.append(i[0]) res = set(l) for i in res: k+=1 document.add_paragraph('%i.' %k + i) if ans[11]!= ['']: k+=1 document.add_paragraph('%i.' %k + '{{potrebiteli}}') p = document.add_paragraph() p.add_run('Приложение:').bold = True if ans[6] == ['оплачивается']: document.add_paragraph('Платежное поручение №___ от «__»______ ____ г., подтверждающее уплату государственной пошлины.', style = 'List Number') document.add_paragraph('Копия уведомления о вручении или иные документы, подтверждающие направление другим лицам, участвующим в деле, копий искового заявления и приложенных к нему документов, которые у других лиц, участвующих в деле, отсутствуют;', style = 'List Number') document.add_paragraph('Иные документы, на которых Истец обосновывает свои требования;', style = 'List Number') if ans[2][0]!= '': document.add_paragraph('{{complainant}}', style = 'List Number') for i in ans[7]: if i[2] != '': res = re.split('\n|\r\n',i[2]) for j in res: document.add_paragraph(j, style = 'List Number') if ans[8] != ['']: l = [] for i in ans[8]: l.append(i[1]) res = set(l) for i in res: document.add_paragraph(i, style = 'List Number') if ans[9] != ['']: document.add_paragraph('{{regulation}}', style = 'List Number') if ans[10] != ['']: document.add_paragraph('{{peace}}', style = 'List Number') document.add_paragraph('« » ________ _____г. \t\t\t\t\t\t_____________ (________________)') document.save(fname) document = DocxTemplate(fname) context = {'court':ans[0][0], 'complainant':ans[2][0], 'price_isk':ans[5][0],'poshlina':ans[6][0], 'regulation':ans[9][0], 'peace':ans[10][0], 'potrebiteli':ans[11][0]} document.render(context) document.save(fname)
def convertion(ans): document = Document() document.save('demo.docx') p = document.add_paragraph("В___________________") p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph("Адрес:_____________________") p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph('{{court}}') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT if ans[1] != ['', '']: p = document.add_paragraph('{{complainant_1}}') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph('{{otvetchik}}') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT if ans[3] != '': p = document.add_paragraph('{{third}}') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT if ans[4] != '': p = document.add_paragraph('{{price_isk}}') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph('{{poshlina}}') p.alignment = WD_ALIGN_PARAGRAPH.RIGHT p = document.add_paragraph("Исковое заявление") p.alignment = WD_ALIGN_PARAGRAPH.CENTER p = document.add_paragraph("о {{demand_1}}") p.alignment = WD_ALIGN_PARAGRAPH.CENTER p = document.add_paragraph("ПРОШУ:") p.alignment = WD_ALIGN_PARAGRAPH.CENTER document.add_paragraph('{{demand_2}}') document.add_paragraph('{{dop_demand_1}}') document.add_paragraph('{{potrebiteli}}') document.add_paragraph('Приложение:') if ans[9] != '': document.add_paragraph( 'Платежное поручение №___ от «__»______ ____ г., подтверждающее уплату государственной пошлины.\n\n« » ________ _____г. _____________ (________________)', style='List Number') document.add_paragraph( 'Копия уведомления о вручении или иные документы, подтверждающие направление другим лицам, участвующим в деле, копий искового заявления и приложенных к нему документов, которые у других лиц, участвующих в деле, отсутствуют;', style='List Number') document.add_paragraph( 'Иные документы, на которых Истец обосновывает свои требования;', style='List Number') if ans[1] != ['', '']: document.add_paragraph('{{complainant_2}}', style='List Number') document.add_paragraph('{{demand_3}}', style='List Number') document.add_paragraph('{{dop_demand_2}}', style='List Number') if ans[10] != '': document.add_paragraph('{{regulation}}', style='List Number') if ans[11] != '': document.add_paragraph('{{peace}}', style='List Number') document.add_paragraph( '« » ________ _____г. \t\t\t\t\t\t\t\t_____________ (________________)' ) document.save('demo.docx') document = DocxTemplate("demo.docx") print(repr(ans)) context = { 'court': ans[0], 'complainant_1': ans[1][0], 'otvetchik': ans[2], 'third': ans[3], 'price_isk': ans[4], 'poshlina': ans[5], 'demand_1': ans[6][0], 'demand_2': ans[6][1], 'dop_demand_1': ans[7][0], 'potrebiteli': ans[8], 'posh': ans[9], 'complainant_2': ans[1][1], 'demand_3': ans[6][2], 'dop_demand_2': ans[7][1], 'regulation': ans[10], 'peace': ans[11] } document.render(context) document.save("demo.docx")