i need a example or sample code about text.dump (???)


input values -> automatic text ---> automatic tags --> save (.doc , .txt)


but when i save the text, the file dont get the tags....


like this example:
input in text widget:

I love you girl

the output in (.doc and .txt) is:

I love you girl (without bold and underline)


how to get the tag´s .... ???

.txt files do not support bold or underlining. To do that you must use a mark-up file like postscript, html, or XML. But each one uses a different method. If you are viewing the file in a text or word processor you must use the markup style that it expects, unless it will import other styles. Copy this to a file and open it with a web browser to see an example of how to output in html.

<html>
<head>
<title> This is the title.
</title>
</head>
<body>
<b>Bold</b>
<u>underline</u>
</body>
</html>

If you want you can use a tool like html2ps to convert this to postscript to see how postscript does this (postscript just inserts code to draw a solid line at the distance under the word).

sorry but i need to get the tag´s to a (.doc)

___________________________________________________________________________
file -- edit --help
open
save
new


[input1] = hi
[input2] = you

-------------------------------textwidget----------------
output (how are)(predefined words) + (tag´s)

result: hi, how are you

_______________________________________________________________
i want to know how to get the text with tag´s and save to (.doc) format ...

my program get the text ...but the tag´s dont appear in (.doc)

# -*- coding: utf-8 -*-

the code

#diretorios de imagens
alldir = ("C:\\Users\juridico.anoreg\Desktop\OFICIOS-ANOREG\imagem\\")
# from  tkinter import *
from tkinter.filedialog import *
import sys
import tkinter
import time
import math
import datetime
import os
import subprocess
import tkinter.messagebox
import calendar as cd
from tkinter import *
import webbrowser
import tkinter.font

class App(object):
    def __init__(self, master):
        

        #ala de menus
        menu = Menu(master)
        root.config(menu=menu)
        # criar menus de arquivo
        filemenu = Menu(menu, tearoff=0)
        menu.add_cascade(label="Arquivo", menu=filemenu)
        filemenu.add_command(label="Novo", command=self.novo)
        filemenu.add_command(label="Abrir", command=self.file_open)
        filemenu.add_command(label="Salvar", command=self.file_save)        
        filemenu.add_separator()
        filemenu.add_command(label="Sair", command=self.do_exit)
        # criar menus de edição
        editmenu = Menu(menu, tearoff=0)
        editmenu.add_command(label="Cortar")
        editmenu.add_command(label="Copiar")
        editmenu.add_command(label="Colar")
        menu.add_cascade(label="Editar", menu=editmenu)
        #criar menus de ajuda
        helpmenu = Menu(menu, tearoff=0)
        helpmenu.add_command(label="Ajuda",command=self.ajuda)
        menu.add_cascade(label="Ajuda", menu=helpmenu)

        #backgound
        self.background_image = PhotoImage(file=alldir+"background.gif")
        self.background = Label(master, image=self.background_image)
        self.background.place(x=0,y=0)


        #frase inicial
        
        self.L0 = Label(master,text =(" Nº do oficio"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
        self.L0.place(x=25,y=25)

        self.oficio = Entry(master,width=25)
        self.oficio.place(x=25,y=55)
        self.oficio.focus_set()

        #Data de hoje (dia de mês de ano)
        self.L1=Label (master,text =(" Data de hoje (dia,mes,mes(nº),ano)"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
        self.L1.place (x=25,y=80)

        self.data_dia = Entry(master,width=5)
        self.data_dia.place(x=25,y=115)
        self.data_dia.focus_set

        self.data_mes = Entry(master,width=12)
        self.data_mes.place(x=75,y=115)
        self.data_mes.focus_set

        self.data_mes2 = Entry(master,width=5)
        self.data_mes2.place(x=165,y=115)
        self.data_mes2.focus_set


        self.data_ano = Entry(master,width=9)
        self.data_ano.place(x=215,y=115)
        self.data_ano.focus_set

        #Nome da instancia

        self.L2= Label(master, text = ("Remetente "),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
        self.L2.place (x=25,y=145)
        
        self.Poder = Entry(master,width=45)
        self.Poder.place(x=25,y=185)
        self.Poder.focus_set

        #Numero do processo
        self.L3= Label(master, text = ("Nº do processo "),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
        self.L3.place (x=25,y=215)
        
        self.Processo = Entry(master,width=45)
        self.Processo.place(x=25,y=255)
        self.Processo.focus_set

        #Data de emissão do documento recebido

        self.L4= Label (master, text = ("Data de emissão do oficio "),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
        self.L4.place (x=25,y=285)
        
        self.data_diaem = Entry(master,width=5)
        self.data_diaem.place(x=25,y=325)
        self.data_dia.focus_set

        self.data_mesem = Entry(master,width=10)
        self.data_mesem.place(x=75,y=325)
        self.data_mesem.focus_set

        self.data_anoem = Entry(master,width=9)
        self.data_anoem.place(x=155,y=325)
        self.data_anoem.focus_set

        #Informação do processo (Ex: Informando da Interdição de (informar as partes do processo )

        self.L5 = Label (master, text = ("informações referentes ao documento"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
        self.L5.place (x=25,y=355)

        self.Informacao = Entry(master,width=75)
        self.Informacao.place(x=25,y=395)
        self.Informacao.focus_set

        #solicitando que seja encaminhada resposta, o mais rápido possível, às devidas indagações. (opcional)
        #qual anoreg ?
        self.L6 = Label (master, text = ("Anoregs"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
        self.L6.place (x=25,y=565)

        #barra de rolagem das anoregs estaduais
        scrollbar_Anoreg = Scrollbar(master)
        scrollbar_Anoreg.place(x=150,y=605, height=55)
        
        #listbox das anoregs estaduais
        self.Anoreg = Listbox (master)
        for item in ["ANOREG-AL","ANOREG-AM","ANOREG-AP","ANOREG-BA","ANOREG-CE","ANOREG-DF","ANOREG-ES","ANOREG-GO","ANOREG-MA",
        "ANOREG-MG","ANOREG-MS","ANOREG-MT","ANOREG-PA","ANOREG-PB","ANOREG-PE","ANOREG-PI","ANOREG-PR","ANOREG-RJ",
        "ANOREG-RN","ANOREG-RO","ANOREG-RR","ANOREG-RS","ANOREG-SC","ANOREG-SE","ANOREG-SP","ANOREG-TO"]:
            self.Anoreg.insert(END,item)

        self.Anoreg.place(x=25,y=605,height=55)
        self.Anoreg.focus_set
        #barra de rolagem para anoregs estaduais 
        self.Anoreg.config(yscrollcommand=scrollbar_Anoreg.set)
        scrollbar_Anoreg.config(command=self.Anoreg.yview)
       

        #gerar nome da pasta do dia  para salvar
        Gerar_nome_pasta_dia = Button(master, text="Gerar nome para pasta do dia",bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT,command=self.Pasta_dia)
        Gerar_nome_pasta_dia.place (x=185,y=475)

        self.L7 = Label (master, text = ("Nome da pasta gerado"),bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT)
        self.L7.place (x=185,y=425)
    
        self.pasta = Entry(master,width=30)
        self.pasta.place(x=185,y=455)
        self.pasta.focus_set

        #botão pasta do dia
        Criar_pasta_dia = Button(master, text="Criar pasta do dia ",bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT, width=15, command=(lambda a = 1: askdirectory(initialdir="C:\\Users\juridico.anoreg\Desktop\OFICIOSANOREG\\")))
        Criar_pasta_dia.place(x=185,y=515)

        #botão de criar documento
        DADOS_botão = Button(master,text="CRIAR\nDOCUMENTO",bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT,command=self.chamando_dados)
        DADOS_botão.place (x=25,y=455)

        #criando um a barra de rolagem de texto
        scrollbartext = Scrollbar(master)
        scrollbartext.place(x=1329,y=355,height=325)

        #caixa de texto
        self.text = Text(master,width = 88, height = 16)
        self.text.place(x=525,y=355)

        #barra de rolagem para caixa de texto
        self.text.config(yscrollcommand=scrollbartext.set,font=("Arial", 12))
        scrollbartext.config(command=self.text.yview)



        #barra de rolagem dos presidentes estaduais
        scrollbar_Presidentes = Scrollbar(master)
        scrollbar_Presidentes.place(x=325,y=605, height=55)
        
        #listbox das anoregs estaduais
        self.Anoreg_presidentes = Listbox (master,width=25)
        for item in ["MANOEL IRAN VILAR MALTA","RONALDO DE BRITO LEITE","JOSÉ ROBERTO SENA DE ALMEIDA","RUFINO GRIFFO RIBEIRO","ALEXANDRE MAGNO MEDEIROS DE ALENCAR","ALAN GUERRA NUNES","HELVÉCIO DUIA CASTELLO","MAURICIO BORGES SAMPAIO","ALICE EMILIANA RIBEIRO BRITO",
        "ROBERTO DIAS DE ANDRADE","PAULO FRANCISCO COIMBRA PEDRA","NIUARA RIBEIRO ROBERTO BORGES","LUIZIEL HENDERSON GUEDES DE OLIVEIRA ","GERMANO CARVALHO TOSCANO DE BRITO","LUIZ GERALDO CORREIA DA SILVA","ANTONIO LISBOA LOPES DE SOUSA FILHO","ROBERT JONCZYK","RENALDO ANDRADE BUSSIERE",
        "FRANCISCO ARAÚJO FERNANDES","PATRICIA DE FÁTIMA ASSIS BARROS","WAGNER MENDES COELHO","LUIZ CARLOS WEINZENMANN","OTAVIO GUILHERME MARGARIDA","ESTELITA NUNES DE OLIVEIRA","PATRÍCIA ANDRÉ DE CAMARGO FERRAZ","MARLY CONCEIÇÃO BONINA NEWTON"]:
            self.Anoreg_presidentes.insert(END,item)

        self.Anoreg_presidentes.place(x=170,y=605,height=55)
        self.Anoreg_presidentes.focus_set
        
        #barra de rolagem para presidentes estaduais 
        self.Anoreg_presidentes.config(yscrollcommand=scrollbar_Presidentes.set)
        scrollbar_Presidentes.config(command=self.Anoreg_presidentes.yview)


        #barra de rolagem dos estados
        scrollbar_Estados = Scrollbar(master)
        scrollbar_Estados.place(x=470,y=605, height=55)
        
        #listbox dos estados
        self.Anoreg_estados = Listbox (master)
        for item in ["Maceió-AL","Manaus-AM","Macapá-AP","Salvador-BA","Fortaleza-CE","Brasília-DF","Vitória-ES","Goiânia-GO","São Luís-MA",
        "Belo Horizonte-MG","Campo Grande-MS","Cuiabá-MT","Belém-PA","João Pessoa-PB","Recife-PE","Teresina-PI","Curitiba-PR","Rio de Janeiro-RJ",
        "Parnamirim-RN","Porto Velho-RO","Boa Vista-RR","Porto Alegre-RS","Florianópolis-SC","Aracaju-SE","São Paulo-SP","Palmas-TO"]:
            self.Anoreg_estados.insert(END,item)

        self.Anoreg_estados.place(x=345,y=605,height=55)
        self.Anoreg_estados.focus_set
        
        #barra de rolagem dos estados
        self.Anoreg_estados.config(yscrollcommand=scrollbar_Estados.set)
        scrollbar_Estados.config(command=self.Anoreg_estados.yview)
           
        
        #Logotipo da ANOREG-BR
        self.anoreg_image = PhotoImage(file=alldir+"logo.gif")
        self.anoreg_logo=Label(master,image=self.anoreg_image)
        self.anoreg_logo.place(x=1270,y=2)

        #Novas Opções
        self.telefone_image = PhotoImage(file=alldir+"telefone.gif")
        TELEFONES_ANOREG = Button(master,image=self.telefone_image, width=70)
        TELEFONES_ANOREG.place(x=25,y=720)

        self.recados_image = PhotoImage(file=alldir+"post-it.gif")
        RECADOS_ANOREG = Button(master, image=self.recados_image,width=70,command=self.openExe)
        RECADOS_ANOREG.place(x=125,y=720)

        self.sites_image = PhotoImage(file=alldir+"site.gif")
        SITES_ANOREG = Button(master,image=self.sites_image,command=self.site_anoreg)
        SITES_ANOREG.place(x=410,y=720)

        self.calendario_image = PhotoImage(file=alldir+"calendar.gif")
        Calendário_ANOREG = Button(master, image=self.calendario_image,command=self.calendario)
        Calendário_ANOREG.place(x=220,y=720)

        
        
        ##transporte de informações
    #pegando o valor Oficio
    def chamando_dados(self):
            self.text.insert(END, "                      Brasilia   ")
            self.text.insert(END, self.data_dia.get())
            self.text.insert(END, " de ")
            self.text.insert(END, self.data_mes.get())
            self.text.insert(END, " de ")
            self.text.insert(END, self.data_ano.get())
            self.text.insert(END,"\n")
            self.text.insert(END,"\n")
            self.text.insert(END,"\n")
            self.text.insert(END,"\n")
            self.text.insert(END,"Oficio nº  ")
            self.text.insert(END, self.data_dia.get())
            self.text.insert(END,self.data_mes2.get())
            self.text.insert(END,"/")
            self.text.insert(END, self.data_ano.get())
            self.text.insert(END,"\n")
            self.text.insert(END,"\n") 
            self.text.insert(END, "Prezado Senhor, \n")
            self.text.insert(END,"\n")
            self.text.insert(END, "Informamos que a ANOREG/BR recebeu, na data de ")
            self.text.insert(END, self.data_dia.get())
            self.text.insert(END, " de ")
            self.text.insert(END, self.data_mes.get())
            self.text.insert(END, " de ")
            self.text.insert(END, self.data_ano.get())
            self.text.insert(END, ", ")
            self.text.insert(END, self.Poder.get())
            self.text.insert(END, ", ")
            self.text.insert(END, "o oficio Nº ")
            self.text.insert(END, self.oficio.get())
                
            self.text.insert(END, "processo Nº  ")
            self.text.insert(END, self.Processo.get())
            self.text.insert(END,",datado de ")
            self.text.insert(END, self.data_diaem.get())
            self.text.insert(END, " de ")
            self.text.insert(END, self.data_mesem.get())
            self.text.insert(END, " de ")
            self.text.insert(END, self.data_anoem.get())
            self.text.insert(END, ",")
            self.text.insert(END, self.Informacao.get())
            self.text.insert(END," solicitando que seja encaminhada resposta, o mais rápido possível, às devidas indagações.")
            self.text.insert(END,"\n")
            self.text.insert(END,"\n")
            self.text.insert(END,"Dessa forma, pedimos que a ")
            self.text.insert(END, self.Anoreg.get(ACTIVE))
            self.text.insert(END, " providencie o envio dos questionamentos aos cartórios extrajudiciais competentes.")
            self.text.insert(END,"\n")
            self.text.insert(END,"\n")
            self.text.insert(END,"Frisa-se que cada serventia deverá responder diretamente ao órgão citado acima. ")
            self.text.insert(END,"\n")
            self.text.insert(END,"\n")
            self.text.insert(END,"Atenciosamente,")
            self.text.insert(END,"\n")
            self.text.insert(END,"\n")
            self.text.insert(END,"                          CHRISTIAN THOMAS ONCKEN")
            self.text.insert(END,"\n")
            self.text.insert(END,"                           Estagiário de Direito")
            self.text.insert(END,"\n")
            self.text.insert(END,"Ao Senhor,")
            self.text.insert(END,"\n")
            self.text.insert(END,"Dr.")
            self.text.insert(END, self.Anoreg_presidentes.get(ACTIVE))
            self.text.insert(END,"\n")
            self.text.insert(END,"Presidente da ")
            self.text.insert(END,"\n")
            self.text.insert(END, self.Anoreg.get(ACTIVE))

            self.text.tag_add("oficio","3.5","7.0")
            self.text.tag_config("oficio",font=("Arial", 12,"bold"))

            self.text.tag_add("anoregbr","9.17","9.26")
            self.text.tag_config("anoregbr",font=("Arial", 12,"bold"))

            self.text.tag_add("anoreges","11.26","11.37")
            self.text.tag_config("anoreges",font=("Arial", 12,"bold"))
            
            
            self.text.tag_add("estagiario","17.5","18.0")
            self.text.tag_config("estagiario",font=("Arial", 12,"bold"))

            self.text.tag_add("presidente","20.3","21.0")
            self.text.tag_config("presidente",font=("Arial", 12,"bold"))

            self.text.tag_add("estado","22.0","23.5")
            self.text.tag_config("estado",underline=1)

            

            
            
            
            
    def file_open(self):
        """open a file to read"""
        # optional initial directory (default is current directory)
        initial_dir ="C:\\Users\juridico.anoreg\Desktop\OFICIOSANOREG\\"
        # the filetype mask (default is all files)
        mask = \
        [("Text and Python files","*.txt *.py *.pyw"), 
        ("HTML files","*.htm"), 
        ("All files","*.*")]        
        fin = askopenfile(initialdir=initial_dir, filetypes=mask, mode='r')
        text = fin.read()
        if text != None:
            self.text.delete(0.0, END)
            self.text.insert(END,text)
    
 
    def file_save(self):
        """get a filename and save the text in the editor widget"""
        
        # default extension is optional, here will add .txt if missing
        # nome automatico
        fout = asksaveasfile(mode='w',initialdir="C:\\Users\juridico.anoreg\Desktop\OFICIOSANOREG\\",initialfile = (self.Poder.get(),self.oficio.get()) , defaultextension=".doc")
        text2save = str(self.text.get(0.0,END)) 
        tag2save= self.text.tag_cget("estado","underline")
        fout.write(tag2save)
        fout.write(text2save)
        fout.close()
 
    def do_exit(self):
        root.destroy()
        
    def novo (self):
         self.text.delete(1.0, END)
         self.oficio.delete (0,END)
         self.data.delete (0,END)
         self.Poder.delete (0,END)
         self.Processo.delete (0,END)
         self.Emissao_processo.delete (0,END)
         self.Informacao.delete (0,END)
         self.Anoreg.delete (0,END)
         self.pasta.delete (0,END)

    def Pasta_dia(self):
        self.pasta.insert(END,("Oficio n.",self.data_dia.get(), self.data_mes2.get()))
    
    
    def calendario(self):
        calendario = Tk()
        frame = Frame(calendario)
        frame.grid()
        #background
        self.background2 = Label(calendario, bg='navy',width=200)
        self.background2.place(x=0,y=0,height=200)
        Calendário = Button(calendario, text="CALENDÁRIO\n",justify = LEFT, width=15,command=self.abrircalendario)
        Calendário.place(x=0, y=0)
        #selecione o ano
        self.ano = Entry (calendario)
        self.ano.place(x=0,y=55)
        self.ano.focus_set
        #selecione o mês
        self.mes = Entry (calendario)
        self.mes.place(x=0,y=75)
        self.mes.focus_set
        

        
        calendario.geometry("250x150+300+300")
        calendario.mainloop()
         

    def abrircalendario (self):
        
        # supply year and month
        year = int(self.ano.get())
        month = int(self.mes.get())   # jan=1
        

        # assign the month's calendar to a multiline string
        str1 = cd.month(year, month)

        # create the window form and call it root (typical)
        calendarioopen = Tk()
        calendarioopen.title("Monthly Calendar")
        #background
        self.background2 = Label(calendarioopen, bg='navy',width=200)
        self.background2.place(x=0,y=0,height=300)
        # pick a fixed font like courier so spaces behave right 
        self.label1 = Label(calendarioopen, text=str1, font=('courier', 14, 'bold'), bg='white')
        self.label1.place(x=3, y=5)
        calendarioopen.geometry("350x250+300+300")
        calendarioopen.mainloop()
    def ajuda (self):
        
        top = Toplevel()

        igm = PhotoImage(file=alldir+"logo.gif")
        Label(top,image=igm).grid()
        top.mainloop()

        
        
    def site_anoreg(self):
        site = Tk()
        
        #backgound
        
        self.background1 = Label(site, bg='navy',width=200)
        self.background1.place(x=0,y=0,height=200)
       
        
        self.site_anoreg = Listbox(site, foreground= "blue",width=45)
        
        for item in ["http://www.google.com.br","http://www.anoreg.org.br/index.php","http://www.stf.jus.br/portal/principal/principal.asp","http://www.cnj.jus.br/"]:
            self.site_anoreg.insert(END,item)
        self.site_anoreg.place(x=0,y=0)

        botao_site=Button(site,text="abrir",command=self.abrir_site)
        botao_site.place(x=280,y=35)
        site.geometry("350x150+300+300")
        site.mainloop()
        
    def abrir_site(self):
        webbrowser.open(self.site_anoreg.get(ACTIVE))

    
       
        
    def openExe(self):
        os.startfile( "C:\\Windows\system32\StikyNot.exe\\" )        
        
       




root = Tk()
root.title("OFICIOS ANOREG-BR 2011- v.1.0")
root.state("zoomed")
app = App(root)
root.mainloop()
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.