Пример #1
0
def ConvertImageToPDF(image_path, docx_path, dest_path, wordapp):
    if os.path.exists(dest_path):
        return
    try:
        doc = Document()  #以默认模板建立文档对象
        doc.add_picture(image_path, width=Inches(6), height=Inches(8))
    except Exception as e:
        if os.path.exists(docx_path):
            os.remove(docx_path)
        if os.path.exists(dest_path):
            os.remove(dest_path)
        print('Error:' + image_path, e)
        return
    doc.save(docx_path)

    #wdFormatDocument = 0
    #wdFormatDocument97 = 0
    #wdFormatDocumentDefault = 16
    #wdFormatDOSText = 4
    #wdFormatDOSTextLineBreaks = 5
    #wdFormatEncodedText = 7
    #wdFormatFilteredHTML = 10
    #wdFormatFlatXML = 19
    #wdFormatFlatXMLMacroEnabled = 20
    #wdFormatFlatXMLTemplate = 21
    #wdFormatFlatXMLTemplateMacroEnabled = 22
    #wdFormatHTML = 8
    wdFormatPDF = 17
    #wdFormatRTF = 6
    #wdFormatTemplate = 1
    #wdFormatTemplate97 = 1
    #wdFormatText = 2
    #wdFormatTextLineBreaks = 3
    #wdFormatUnicodeText = 7
    #wdFormatWebArchive = 9
    #wdFormatXML = 11
    #wdFormatXMLDocument = 12
    #wdFormatXMLDocumentMacroEnabled = 13
    #wdFormatXMLTemplate = 14
    #wdFormatXMLTemplateMacroEnabled = 15
    #wdFormatXPS = 18

    #wordapp.Visible = True
    #doc = wordapp.Documents.Add()
    doc = wordapp.Documents.Open(docx_path)
    # 插入文字
    range = doc.Range(0, 0)
    #range.InsertBefore('6b.jpg')
    #doc.SaveAs('6b.docx')
    #doc.SaveAs('6b.pdf', win32com.client.constants.wdFormatPDF)
    doc.SaveAs(dest_path, wdFormatPDF)
    print(dest_path)
    doc.Close()
Пример #2
0
def sir(srv_dict: dict):
    '''fill SIR form'''
    SIR = os.path.join(wp, 'SIR.docx')
    out_file = os.path.join(wp, '%s.pdf' % srv_dict['name'])

    doc = Document(SIR)
    tables = doc.tables

    tinfo = tables[0]
    cName = tinfo.cell(0, 0)  # (row,column)
    cName.text = 'System Name:      ' + srv_dict['name'].upper()
    cSN = tinfo.cell(0, 1)
    cSN.text = 'Serial Number:          ' + srv_dict['SN'].upper()
    cSite = tinfo.cell(1, 0)
    cSite.text = 'Site:   ' + srv_dict['site'].upper()
    cloc = tinfo.cell(1, 1)
    cloc.text = 'Area/Building/Room:\n' + srv_dict['loc'].upper()

    tmodel = tables[1]
    cProduct = tmodel.cell(1, 0)
    cProduct.text = srv_dict['model'][0]
    cDescription = tmodel.cell(1, 2)
    cDescription.text = srv_dict['model'][1]

    tsign = tables[3]
    cdate = tsign.cell(1, 1)
    cdate.text = '\n' + time.strftime('%Y-%m-%d', time.localtime(
        time.time())) + '\n'

    # sig = r'E:\UT\signature.png'
    # s = t1.cell(1,2).add_paragraph()
    # r = s.add_run()
    # r.add_picture(sig,width = Inches(0.5), height = Inches(0.5) )

    try:
        doc.save(SIR)
    except PermissionError as e:
        print(e)
        print('Is file being opened?')

    # os.startfile(SIR,'print')
    try:
        wdFormatPDF = 17
        word = comtypes.client.CreateObject('Word.Application')
        doc = word.Documents.Open(SIR)
        doc.SaveAs(out_file, FileFormat=wdFormatPDF)
        doc.Close()
        word.Quit()
    except:
        # print(e)
        print('PDF already created')
Пример #3
0
    def Generate(self, Efield, Eid, DocName):
        '''
        Generates the specified document Efield with the information of a person with ID Eid.
        :param Efield:  Type of document to generate.
        :param Eid: ID of the person whose information will be used in the document.
        :param DocName: The name of the generated document.
        :return: The document specified with the person's information.
        '''
        if Efield == 'eCert'or Efield == 'eCont' or Efield == 'eEval'or Efield == 'eDism' or \
                        Efield == 'eWarn' or Efield == 'eTrain':
            id = 0
            name = ''
            sal = 0
            pos = ''
            date = ''
            sup = ''

            #Dictionary of the document templates and their filename
            templates = {
                'eCert': 'vf empleo.docx',
                'eCont': 'employment-agreement.docx',
                'eEval': 'Employment_Eval.docx',
                'eDism': 'Sample-Letter-of-Dismissal.docx',
                'eWarn': 'employee-warning-notice.docx',
                'eTrain': 'Completion-Certificate-Template.docx'
            }

            doc = Document(templates[Efield])

            wb = load_workbook(
                os.path.dirname(os.path.dirname(__file__)) + '/Database.xlsx')
            ws = wb['Sheet1']

            empinfo = Database.getEmployeeInfo(Database, Eid)

            #Replaces template words with the person's information
            for info in doc.paragraphs:
                new = info.text.replace('NNNN', empinfo['Name'])
                info.text = new
                new = info.text.replace('SSSS', str(empinfo['Salary']))
                info.text = new
                new = info.text.replace('IIII', str(empinfo['ID']))
                info.text = new
                new = info.text.replace('PPPP', empinfo['Position'])
                info.text = new
                new = info.text.replace('DDDD', empinfo['Date'])
                info.text = new
                new = info.text.replace('UUUU', empinfo['Supervisor'])
                info.text = new
                new = info.text.replace('CCCC',
                                        str(float(empinfo['Salary']) * 40))
                info.text = new

            doc.save((os.path.dirname(__file__)) + '/NewTempFile.docx')
            outfile = (os.path.dirname(__file__)) + '/NewTempFile.docx'

            wdFormatPDF = 17

            #Converts the filled document to pdf.
            word = comtypes.client.CreateObject('Word.Application')
            doc = word.Documents.Open(outfile)
            doc.SaveAs(DocName, FileFormat=wdFormatPDF)
            doc.Close()
            word.Quit()
            wb.save(
                os.path.dirname(os.path.dirname(__file__)) + '/Database.xlsx')
            os.remove(outfile)
            return 'Document ' + Efield + ' named: ' + DocName + ' generated successfully'

        else:
            return 'Document selected not valid'
Пример #4
0
def pdf(phone_number, ip_number):
    data = information(phone_number, ip_number)
    import comtypes.client
    wdFormatPDF = 17

    in_file = r'H:\study\nam 3\ki 2\Mobil\lab3\ha\form.docx'
    out_file = r'H:\study\nam 3\ki 2\Mobil\lab3\ha\invoice.docx'
    pdf_file = r'H:\study\nam 3\ki 2\Mobil\lab3\ha\invoice.pdf'

    from docx import Document
    doc = Document(in_file)

    #___Таблица 1__
    table = doc.tables[0]
    table.cell(0, 0).paragraphs[0].text = data['Банк получателя']
    table.cell(0, 3).paragraphs[0].text = data['БИК']
    table.cell(2, 3).paragraphs[0].text = data['1Сч. №']
    table.cell(3, 0).paragraphs[0].text = data['ИНН']
    table.cell(3, 1).paragraphs[0].text = data['КПП']
    table.cell(3, 3).paragraphs[0].text = data['2Сч. №']
    table.cell(4, 0).paragraphs[0].text = data['Получатель']

    #___Таблица 2__
    table = doc.tables[1]
    inline = table.cell(0, 0).paragraphs[0].runs
    text = inline[1].text.replace('___', data['3Сч. №'])
    inline[1].text = text
    text = inline[3].text.replace('___', data['день'])
    inline[3].text = text
    text = inline[5].text.replace('_______', data['месяц'])
    inline[5].text = text
    text = inline[7].text.replace('___', data['год'])
    inline[7].text = text

    #___Таблица 3__
    table = doc.tables[2]
    table.cell(0, 1).paragraphs[0].text = data['Поставщик']
    table.cell(1, 1).paragraphs[0].text = data['Заказчик']
    table.cell(2, 1).paragraphs[0].text = data['Основание']

    #___Таблица 4__
    table = doc.tables[3]
    for i in range(len(data['№'])):
        if i > 0: table.add_row()
        table.cell(i + 1, 0).text = data['№'][i]
        table.cell(i + 1, 1).text = data['товары'][i]
        table.cell(i + 1, 2).text = data['количество'][i]
        table.cell(i + 1, 3).text = data['ед.'][i]
        table.cell(i + 1, 4).text = data['цена'][i]
        table.cell(i + 1, 5).text = data['сумма'][i]

    #___Таблица 5__
    table = doc.tables[4]
    table.cell(0, 1).paragraphs[0].text = data['Итого']
    table.cell(1, 1).paragraphs[0].text = data['НДС']
    table.cell(2, 1).paragraphs[0].text = data['Всего к оплату']
    table.cell(3, 0).paragraphs[1].text = data['Всего наименований']
    table.cell(4, 0).paragraphs[0].text = data['Сумма прописью']

    doc.save(out_file)

    word = comtypes.client.CreateObject('Word.Application')
    doc = word.Documents.Open(out_file)
    doc.SaveAs(pdf_file, FileFormat=wdFormatPDF)
    doc.Close()
    word.Quit()


# variant 3
#pdf('915783624','192.168.250.27')
#create_invoice.pdf('915783624','192.168.250.27')
                        continue
                    else:
                        t = 2
                        Norepeat.append(na)
                doc.add_paragraph(listToString(Qfive[na]), style='List Number')
        else:
            print("Question paper cant be created")
            exit()
except:
    print(" ")
doc.save("'" + key + "_qpaper'.docx")
in_file = r"C:\xampp\htdocs\QPG\'" + key + "_qpaper'.docx"
out = r"C:\xampp\htdocs\QPG\QuestionPaper\'" + key + "_qpaper'.pdf"
word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(in_file)
doc.SaveAs(out, FileFormat=17)
doc.Close()
word.Quit()
import magic
mime = magic.Magic(mime=True)
mof = mime.from_file(out)
import mysql.connector


def convertToBinaryData(filename):
    # Convert digital data to binary format
    with open(filename, 'rb') as file:
        binaryData = file.read()
    return binaryData

        MessageBox = ctypes.windll.user32.MessageBoxW
        MessageBox(None, 'Offer Letter Template Not Found', 'Error', 0)
        sys.exit()

    docx_replace_regex(doc, NameRegex, ReplaceNameRegex)
    docx_replace_regex(doc, PositionRegex, ReplacePositionRegex)
    docx_replace_regex(doc, DateRegex, ReplaceDateRegex)
    docx_replace_regex(doc, TermRegex, ReplaceTermRegex)
    OutputFileName = Name + " " + Position + " Offer Letter"
    doc.save(OutputFileName + ".docx")
    in_file = os.path.abspath(OutputFileName + ".docx")
    out_file = os.path.abspath(OutputFileName + ".pdf")

    try:
        word = comtypes.client.CreateObject('Word.Application')
    except:
        MessageBox = ctypes.windll.user32.MessageBoxW
        MessageBox(None, 'Microsoft Word Not Installed', 'Error', 0)
        sys.exit()

    word.Visible = True
    doc = word.Documents.Open(in_file)
    doc.SaveAs(out_file, FileFormat=wdFormatPDF)
    doc.Close()
    word.Quit()
    os.remove(OutputFileName + ".docx")

f.close()
f = open("Offers.csv", "w+")
f.writelines(Header)
f.close()
Пример #7
0
def excel2doc(reader, file, destFolder):
    #print(datetime.datetime.strptime(sh.cell(1, 3).value,'%Y/%m/%d-%H:%M:%S-%f'))
    #print(datetime.datetime.strptime(sh.cell(14, 3).value,'%Y/%m/%d-%H:%M:%S-%f'))
    #print(deltaSecond(datetime.datetime.strptime(sh.cell(1, 3).value,'%Y/%m/%d-%H:%M:%S-%f'),datetime.datetime.strptime(sh.cell(14, 3).value,'%Y/%m/%d-%H:%M:%S-%f')))
    collect1 = dict()
    reader.getBasicInfo(collect1)
    #print('xlsx', datetime.datetime(*tuple(map(lambda x: int(x.lstrip('0')),sh.cell(1, 3).value.split('-')[0].split('/')))))
    #print(collect1[sh.cell(0, 3).value])

    doc = Document()

    doc.styles['Normal'].font.name = u'標楷體'
    doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'標楷體')
    doc.styles['Normal'].font.bold = True
    doc.styles['Normal'].font.size = Pt(12)

    ###############解決原生bug####################
    styles = doc.styles
    new_heading_style = styles.add_style('New Heading',
                                         WD_STYLE_TYPE.PARAGRAPH)
    #new_heading_style.base_style = styles['Heading 1']

    font = new_heading_style.font
    font.bold = True
    font.name = u'標楷體'
    font.size = Pt(16)

    new_heading_style._element.rPr.rFonts.set(qn('w:eastAsia'), u'標楷體')

    #print(isinstance(doc.styles['Heading 1'],p))
    #print(type(new_heading_style))
    #print(dir(new_heading_style.element))
    #doc.add_heading('D-KEFS執行功能測驗回饋單')
    #doc.add_heading('別師', level=1)
    paragraph = doc.add_paragraph('D-KEFS執行功能測驗回饋單', style='New Heading')
    paragraph.alignment = 1

    doc.add_paragraph('基本資料:')

    table = doc.add_table(rows=3, cols=6, style='TableGrid')

    hdr_cells1 = table.rows[0].cells
    hdr_cells1[0].text = '編號:'
    hdr_cells1[1].text = str(int(collect1['ID']))
    hdr_cells1[2].text = '性別:'
    hdr_cells1[3].text = collect1['Gender']
    hdr_cells1[4].text = '測驗時間:'
    hdr_cells1[5].text = str(collect1['CreatTime'].strftime("%Y/%m/%d"))

    hdr_cells2 = table.rows[1].cells
    hdr_cells2[0].text = '姓名:'
    hdr_cells2[1].text = collect1['Name']
    hdr_cells2[2].text = '慣用手:'
    hdr_cells2[3].text = collect1['HabitualHand']
    hdr_cells2[4].text = '出生年月日:'
    hdr_cells2[5].text = str(collect1['DateOfBirth'].strftime("%Y/%m/%d"))

    hdr_cells3 = table.rows[2].cells
    hdr_cells3[0].text = '年齡:'
    hdr_cells3[1].text = str(collect1['CreatTime'].year -
                             collect1['DateOfBirth'].year)
    hdr_cells3[2].text = '教育年:'
    hdr_cells3[3].text = str(int(collect1['HighestLevelOfEducation']))
    hdr_cells3[4].text = '學校:'

    doc.add_paragraph('')
    paragraph = doc.add_paragraph('軌跡標示測驗', style='New Heading')
    paragraph.alignment = 1
    doc.add_paragraph('基本測量:')
    table = doc.add_table(rows=4, cols=6, style='TableGrid')
    hdr_cells1 = table.rows[0].cells
    hdr_cells1[1].text = '情境一:\n視覺掃描'
    hdr_cells1[2].text = '情境二:\n圓形序列'
    hdr_cells1[3].text = '情境三:\n六邊形序列'
    hdr_cells1[4].text = '情境四:\n圓形六邊形轉換'
    hdr_cells1[5].text = '情境五:\n動作速度'

    data = {}
    reader.getData(data, 'Task1')
    reader.getData(data, 'Task2')
    reader.getData(data, 'Task3')
    reader.getData(data, 'Task4')
    reader.getData(data, 'Task5')
    print('data', data)

    hdr_cells2 = table.rows[1].cells
    hdr_cells2[0].text = '原始\n分數'
    hdr_cells2[1].text = str(data['Task1'])
    hdr_cells2[2].text = str(data['Task2'])
    hdr_cells2[3].text = str(data['Task3'])
    hdr_cells2[4].text = str(data['Task4'])
    hdr_cells2[5].text = str(data['Task5'])

    hdr_cells3 = table.rows[2].cells
    hdr_cells3[0].text = '量尺\n分數'
    score2 = {}
    score2["Task1"] = newScore(data["Task1"], 20.5, 7.25, 10, 3)
    hdr_cells3[1].text = f'{score2["Task1"]:.3f}'
    score2['Task2'] = newScore(data['Task2'], 29.5, 11, 10, 3)
    hdr_cells3[2].text = f"{score2['Task2']:.3f}"
    score2['Task3'] = newScore(data['Task3'], 29, 10, 10, 3)
    hdr_cells3[3].text = f"{score2['Task3']:.3f}"
    score2['Task4'] = newScore(data['Task4'], 69, 28, 10, 3)
    hdr_cells3[4].text = f"{score2['Task4']:.3f}"
    score2['Task5'] = newScore(data['Task5'], 31, 16, 10, 3)
    hdr_cells3[5].text = f"{score2['Task5']:.3f}"

    hdr_cells4 = table.rows[3].cells
    hdr_cells4[0].text = 'PR值'
    hdr_cells4[1].text = prValue(data["Task1"], 20.5, 7.25)
    hdr_cells4[2].text = prValue(data["Task2"], 29.5, 11)
    hdr_cells4[3].text = prValue(data["Task3"], 29, 10)
    hdr_cells4[4].text = prValue(data["Task4"], 69, 28)
    hdr_cells4[5].text = prValue(data["Task5"], 31, 16)

    doc.add_paragraph('')
    doc.add_paragraph('衍生測量:')
    table = doc.add_table(rows=4, cols=7, style='TableGrid')
    hdr_cells1 = table.rows[0].cells
    hdr_cells1[1].text = '圓形序列+六邊形序列'
    hdr_cells1[2].text = '圓形六邊形轉換 - 視覺掃描'
    hdr_cells1[3].text = '圓形六邊形轉換 - 圓形序列'
    hdr_cells1[4].text = '圓形六邊形轉換 - 六邊形序列'
    hdr_cells1[5].text = '圓形六邊形轉換- 圓形序列+六邊形序列'
    hdr_cells1[6].text = '圓形六邊形轉換 - 動作速度'

    combine = {}
    hdr_cells2 = table.rows[1].cells
    i = 0
    hdr_cells2[i].text = '計分\n結果'
    i += 1
    combine[i] = score2['Task2'] + score2['Task3']
    hdr_cells2[i].text = f"{combine[i]:.3f}"
    i += 1
    combine[i] = score2['Task1'] - score2['Task2']
    hdr_cells2[i].text = f"{combine[i]:.3f}"
    i += 1
    combine[i] = score2['Task4'] - score2['Task2']
    hdr_cells2[i].text = f"{combine[i]:.3f}"
    i += 1
    combine[i] = score2['Task4'] - score2['Task3']
    hdr_cells2[i].text = f"{combine[i]:.3f}"
    i += 1
    combine[i] = score2['Task4'] - score2['Task2'] + score2['Task3']
    hdr_cells2[i].text = f"{combine[i]:.3f}"
    i += 1
    combine[i] = score2['Task4'] - score2['Task5']
    hdr_cells2[i].text = f"{combine[i]:.3f}"

    new_combine = {}
    hdr_cells3 = table.rows[2].cells
    i = 0
    hdr_cells3[i].text = '量尺\n分數'
    i += 1
    new_combine[i] = newScore(combine[i], 19.5, 5.25, 10, 3)
    hdr_cells3[i].text = f'{new_combine[i]:.3f}'
    i += 1
    new_combine[i] = newScore(combine[i], 0, 3.75, 10, 3)
    hdr_cells3[i].text = f'{new_combine[i]:.3f}'
    i += 1
    new_combine[i] = newScore(combine[i], 0, 3, 10, 3)
    hdr_cells3[i].text = f'{new_combine[i]:.3f}'
    i += 1
    new_combine[i] = newScore(combine[i], 0, 3, 10, 3)
    hdr_cells3[i].text = f'{new_combine[i]:.3f}'
    i += 1
    new_combine[i] = newScore(combine[i], 0, 3, 10, 3)
    hdr_cells3[i].text = f'{new_combine[i]:.3f}'
    i += 1
    new_combine[i] = newScore(combine[i], 0, 3, 10, 3)
    hdr_cells3[i].text = f'{new_combine[i]:.3f}'

    #print('new combine: ', new_combine)

    hdr_cells4 = table.rows[3].cells
    i = 0
    hdr_cells4[i].text = 'PR值'
    i += 1
    hdr_cells4[i].text = prValue(combine[i], 19.5, 5.25)
    i += 1
    hdr_cells4[i].text = prValue(combine[i], 0, 3.75)
    i += 1
    hdr_cells4[i].text = prValue(combine[i], 0, 3)
    i += 1
    hdr_cells4[i].text = prValue(combine[i], 0, 3)
    i += 1
    hdr_cells4[i].text = prValue(combine[i], 0, 3)
    i += 1
    hdr_cells4[i].text = prValue(combine[i], 0, 3)

    doc.add_paragraph('')
    doc.add_paragraph('選擇性測量:錯誤分析')
    table = doc.add_table(rows=7, cols=6, style='TableGrid')
    hdr_cells1 = table.rows[0].cells
    hdr_cells1[1].text = '情境一:\n視覺掃描'
    hdr_cells1[2].text = '情境二:\n圓形序列'
    hdr_cells1[3].text = '情境三:\n六邊形序列'
    hdr_cells1[4].text = '情境四:\n圓形六邊形轉換'
    hdr_cells1[5].text = '情境五:\n動作速度'

    table.rows[1].cells[0].text = '疏忽錯誤'
    table.rows[2].cells[0].text = '任務錯誤'
    table.rows[3].cells[0].text = '序列錯誤'
    table.rows[4].cells[0].text = '不正確反應錯誤'
    table.rows[5].cells[0].text = '時間中止錯誤'
    table.rows[6].cells[0].text = '錯誤總數'
    doc.add_paragraph('*原始分數/累積百分位數')
    doc.add_paragraph('')
    doc.add_paragraph('說明:')

    #print(sh.nrows)
    #print(dir(doc.styles['Normal'].font))
    file = file.split('.')[0]

    doc.save(destFolder + '/word/' + file + '.docx')

    #doc to pdf
    wdFormatPDF = 17

    in_file = destFolder + '\\word\\' + file + '.docx'
    out_file = destFolder + '\\pdf\\' + file + '.pdf'

    word = comtypes.client.CreateObject('Word.Application')
    doc = word.Documents.Open(in_file)
    doc.SaveAs(out_file, FileFormat=wdFormatPDF)
    doc.Close()
    word.Quit()
Пример #8
0
def pdf(phoneNum, IpNum):
    data = info(phoneNum, IpNum)
    import comtypes.client
    wdFormatPDF = 17

    #Это мой локаль файл , в котором я сохранил
    in_file = r'E:\2 курс\kypc 3\Mobile\lab3_beo\ITMO---mobile-devices\lab3\example.docx'
    out_file = r'E:\2 курс\kypc 3\Mobile\lab3_beo\ITMO---mobile-devices\lab3\bill.docx'
    pdf_file = r'E:\2 курс\kypc 3\Mobile\lab3_beo\ITMO---mobile-devices\lab3\bill.pdf'

    from docx import Document

    doc = Document(in_file)
    #{-----------------table 1----------------}
    table = doc.tables[0]
    table.cell(0, 0).paragraphs[0].text = data['Банк получателя']
    table.cell(0, 3).paragraphs[0].text = data['БИК']
    table.cell(2, 3).paragraphs[0].text = data['1Сч. №']
    table.cell(3, 0).paragraphs[0].text = data['ИНН']
    table.cell(3, 1).paragraphs[0].text = data['КПП']
    table.cell(3, 3).paragraphs[0].text = data['2Сч. №']
    table.cell(4, 0).paragraphs[0].text = data['Получатель']
    #{---------------table 2--------------------}
    table = doc.tables[1]
    inline = table.cell(0, 0).paragraphs[0].runs
    text = inline[1].text.replace('___', data['3Сч. №'])
    inline[1].text = text
    text = inline[3].text.replace('___', data['день'])
    inline[3].text = text
    text = inline[5].text.replace('_______', data['месяц'])
    inline[5].text = text
    text = inline[7].text.replace('___', data['год'])
    inline[7].text = text
    #{---------------table 3--------------------}
    table = doc.tables[2]
    table.cell(0, 1).paragraphs[0].text = data['Поставщик']
    table.cell(1, 1).paragraphs[0].text = data['Заказчик']
    table.cell(2, 1).paragraphs[0].text = data['Основание']
    #{---------------table 4--------------------}
    table = doc.tables[3]
    for i in range(len(data['№'])):
        if i > 0: table.add_row()
        table.cell(i + 1, 0).text = data['№'][i]
        table.cell(i + 1, 1).text = data['товары'][i]
        table.cell(i + 1, 2).text = data['количество'][i]
        table.cell(i + 1, 3).text = data['ед.'][i]
        table.cell(i + 1, 4).text = data['цена'][i]
        table.cell(i + 1, 5).text = data['сумма'][i]
    #{---------------bang 5--------------------}
    table = doc.tables[4]
    table.cell(0, 1).paragraphs[0].text = data['Итого']
    table.cell(1, 1).paragraphs[0].text = data['НДС']
    table.cell(2, 1).paragraphs[0].text = data['Всего к оплату']
    table.cell(3, 0).paragraphs[1].text = data['Всего наименований']
    table.cell(4, 0).paragraphs[0].text = data['Сумма прописью']

    #{----------------save doc file--------------}
    doc.save(out_file)
    #{----------------create pdf file--------------}
    word = comtypes.client.CreateObject('Word.Application')
    doc = word.Documents.Open(out_file)
    doc.SaveAs(pdf_file, FileFormat=wdFormatPDF)
    doc.Close()
    word.Quit()