Exemplo n.º 1
0
    def __init__(self, path, maj=False, data=None):
        """initialisation d'un générateur odt pour les tuteurs.
        
        En haut de chaque page A5 en sortie, il créée un tableau

        +----------------+-----------+--------+
        |  Responsable   | Élève     | Classe |
        +================+===========+========+
        |  nom resp      | nom eleve | cl     |
        +----------------+-----------+--------+

        :param str path: chemin vers le fichier des csv tuteurs
        :param boolean maj:  mode màj ou complet
        :param dict data: si maj=True, il doit contenir le dictionnaire des pp
            et tuteurs

        """
        self.nom = basename(path)[:-4] #nom du fichier sans extension
        base = dirname(path)
        #fallacieux en cas de màj.
        # .. todo:: vérifier utilité et effacer
        self.classe = ((self.nom).split('Tuteur_'))[-1] #vraiment lié au nom de fichier
        self.document = OpenDocumentText()
        self.defineStyles()
        # def du header complet
        head_style = getattr(self, "Header", None)
        p = P(stylename=head_style)
        mp = MasterPage(name="Standard", pagelayoutname="Mpm1")
        h = Header()
        h.addElement(p)
        mp.addElement(h)
        self.document.masterstyles.addElement(mp)
        
        #import des textes de la page odt tuteur
        try:
            from yaml import CLoader as Loader
        except ImportError:
            from yaml import Loader
        home = expanduser("~/.refnumtool.d")
        with open(join(home,"text_extract_tuteur.yaml")) as file:
            self.msg = load(file, Loader=Loader)

        if not(maj):
            file = open(path, "r", encoding="utf8")
            dialect=csv.Sniffer().sniff(file.readline())
            file.seek(0) # se remettre en début de fichier
            reader = csv.DictReader(file, dialect=dialect)
        
            for d in reader:
                self.make_parent_id(d)
            file.close()
            self.save(join(base, "ENT_id_Tuteur_"+self.classe+".odt")) 
        else: # cas d'une màj
            #for pp in data.values(): # superflu, génération par classe pour les tuteurs
            if "Tuteur" in data:  # test superflu en principe
                for d in data["Tuteur"]:
                    self.make_parent_id(d)
            self.save(join(base, "ENT_id_Tuteur_"+data["elycee"]+"_"+time.strftime("%d%m%Y")+".odt")) 
Exemplo n.º 2
0
    def create_doc(self):
        doc = OpenDocumentText()

        # Page layout: A4
        pagelayout = PageLayout(name="A4")
        doc.automaticstyles.addElement(pagelayout)
        pagelayout.addElement(
            PageLayoutProperties(margin="2cm",
                                 pageheight="297mm",
                                 pagewidth="210mm",
                                 printorientation="portrait"))
        # Use page layout on master page, to set it:
        masterpage = MasterPage(name="Standard", pagelayoutname="A4")
        doc.masterstyles.addElement(masterpage)

        # Styles
        s = doc.styles
        self.h1style = Style(name="Heading 1", family="paragraph")
        self.h1style.addElement(
            TextProperties(attributes={
                'fontsize': "24pt",
                'fontweight': "bold"
            }))
        s.addElement(self.h1style)
        return doc
Exemplo n.º 3
0
 def __init__(self):
     self.textDoc = OpenDocumentText()
     self.h = Header()
     self.f = Footer()
     self.s = self.textDoc.styles
     self.pl = PageLayout(name="pagelayout")
     #margenes para la pagina (PageLayout)
     self.pl.addElement(PageLayoutProperties(margintop="1cm"))
     self.textDoc.automaticstyles.addElement(self.pl)
     self.mp = MasterPage(name="Standard", pagelayoutname=self.pl)
     self.textDoc.masterstyles.addElement(self.mp)
     self.estilos = {}
     self.ConfigurarEstilos()
Exemplo n.º 4
0
 def create_presentation(self, path, width, height):
     self.path = path
     self.width = width
     self.height = height
     # Create memory Open Document Presentation in memory
     self.doc = OpenDocumentPresentation()
     pagelayout = PageLayout(name='MyLayout')
     self.doc.automaticstyles.addElement(pagelayout)
     # Define the basic measures of a page of the presentation
     pagelayout.addElement(PageLayoutProperties(
         margin='0pt', pagewidth='%fpt' % width,
         pageheight='%fpt' % height, printorientation='landscape'))
     self.photostyle = Style(name='MyMaster-photo', family='presentation')
     self.doc.styles.addElement(self.photostyle)
     self.masterpage = MasterPage(name='MyMaster',
                                  pagelayoutname=pagelayout)
     self.doc.masterstyles.addElement(self.masterpage)
Exemplo n.º 5
0
 def addHeaderFooter(self,header=None,footer=None):
     if header or footer:
         mp = MasterPage(name="Standard", pagelayoutname=self.plheaderstyle)
         self.textdoc.masterstyles.addElement(mp)
         if header:
             h = Header()
             hp = P(text=header)#,stylename=self.headerstyle)
             h.addElement(hp)
             mp.addElement(h)
         if footer:
             f = Footer()
             fp = P(text=footer,stylename=self.footercenterstyle)
             f.addElement(fp)
             mp.addElement(f)
Exemplo n.º 6
0
 def __handlePageMaster(self, page_data):
     layout_name = 'Page%s%s' % (page_data.width, page_data.height)
     if not layout_name in self.page_layouts:
         page_layout = PageLayout(name=layout_name)
         page_layout.addElement(
             PageLayoutProperties(margintop='0in',
                                  marginbottom='0in',
                                  marginleft='0in',
                                  marginright='0in',
                                  pagewidth='%sin' % page_data.width,
                                  pageheight='%sin' % page_data.height))
         self.document.automaticstyles.addElement(page_layout)
         self.page_layouts.append(layout_name)
     master_name = layout_name + 'Master'
     if not master_name in self.page_masters:
         master_page = MasterPage(name=master_name,
                                  pagelayoutname=layout_name)
         self.document.masterstyles.addElement(master_page)
         self.page_masters.append(master_name)
     return master_name
Exemplo n.º 7
0
 def addImageHeaderFooter(self,header=None,footer=None):
     if header or footer:
         mp = MasterPage(name="Standard", pagelayoutname=self.pliheaderstyle)
         self.textdoc.masterstyles.addElement(mp)
         if header:
             h = Header()
             p = P()
             href = self.textdoc.addPicture(header)
             f = Frame(name="membrete", anchortype="paragraph", width="17cm", height="1.5cm", zindex="0")
             p.addElement(f)
             img = Image(href=href, type="simple", show="embed", actuate="onLoad")
             f.addElement(img)
             h.addElement(p)
             
             mp.addElement(h)
         if footer:
             fo = Footer()
             pn = PageNumber()
             fp = P(text=footer,stylename=self.footercenterstyle)#FIXME: Pagen number shoulb be better
             fp.addElement(pn)
             fo.addElement(fp)
             mp.addElement(fo)
Exemplo n.º 8
0
    doc.styles.addElement(titlestyle)

    # Style for the photo frame
    photostyle = Style(name="MyMaster-photo", family="presentation")
    doc.styles.addElement(photostyle)

    # Create automatic transition
    dpstyle = Style(name="dp1", family="drawing-page")
    dpstyle.addElement(
        DrawingPageProperties(transitiontype="automatic",
                              transitionstyle="move-from-top",
                              duration="PT5S"))
    doc.automaticstyles.addElement(dpstyle)

    # Every drawing page must have a master page assigned to it.
    masterpage = MasterPage(name="MyMaster", pagelayoutname=pagelayout)
    doc.masterstyles.addElement(masterpage)

    if len(args) == 0:
        pict_dir = "."
    else:
        pict_dir = args[0]
    # Slides
    for picture in os.listdir(pict_dir):
        try:
            pictdata = open(pict_dir + "/" + picture).read()
        except:
            continue
        ct, w, h = getImageInfo(pictdata)  # Get dimensions in pixels
        if ct != 'image/jpeg':
            continue
Exemplo n.º 9
0
def do_job(job):
    """Do something"""
    warnings = get_warnings(job['sts'], job['ets'], job['wfo'], job['wtype'])

    mydir = "%s/%s" % (TMPDIR, job['jobid'])
    if not os.path.isdir(mydir):
        os.makedirs(mydir)
    os.chdir(mydir)

    basefn = "%s-%s-%s-%s-%s" % (job['wfo'], job['wtype'].replace(
        ",", "_"), job['radar'], job['sts'].strftime("%Y%m%d%H"),
                                 job['ets'].strftime("%Y%m%d%H"))
    outputfile = "%s.odp" % (basefn, )

    doc = OpenDocumentPresentation()

    # We must describe the dimensions of the page
    pagelayout = PageLayout(name="MyLayout")
    doc.automaticstyles.addElement(pagelayout)
    pagelayout.addElement(
        PageLayoutProperties(margin="0pt",
                             pagewidth="800pt",
                             pageheight="600pt",
                             printorientation="landscape"))

    # Style for the title frame of the page
    # We set a centered 34pt font with yellowish background
    titlestyle = Style(name="MyMaster-title2", family="presentation")
    titlestyle.addElement(ParagraphProperties(textalign="center"))
    titlestyle.addElement(TextProperties(fontsize="34pt"))
    titlestyle.addElement(GraphicProperties(fillcolor="#ffff99"))
    doc.styles.addElement(titlestyle)

    # Style for the title frame of the page
    # We set a centered 34pt font with yellowish background
    indexstyle = Style(name="MyMaster-title", family="presentation")
    indexstyle.addElement(ParagraphProperties(textalign="center"))
    indexstyle.addElement(TextProperties(fontsize="28pt"))
    indexstyle.addElement(GraphicProperties(fillcolor="#ffffff",
                                            stroke="none"))
    doc.styles.addElement(indexstyle)

    # Style for the photo frame
    photostyle = Style(name="MyMaster-photo", family="presentation")
    doc.styles.addElement(photostyle)

    # Every drawing page must have a master page assigned to it.
    masterpage = MasterPage(name="MyMaster", pagelayoutname=pagelayout)
    doc.masterstyles.addElement(masterpage)

    dpstyle = Style(name="dp1", family="drawing-page")
    # dpstyle.addElement(DrawingPageProperties(transitiontype="automatic",
    #   transitionstyle="move-from-top", duration="PT5S"))
    doc.automaticstyles.addElement(dpstyle)

    # Title slide
    page = Page(masterpagename=masterpage)
    doc.presentation.addElement(page)
    frame = Frame(stylename=indexstyle,
                  width="720pt",
                  height="500pt",
                  x="40pt",
                  y="10pt")
    page.addElement(frame)
    textbox = TextBox()
    frame.addElement(textbox)
    textbox.addElement(P(text="IEM Raccoon Report"))

    frame = Frame(stylename=indexstyle,
                  width="720pt",
                  height="500pt",
                  x="40pt",
                  y="150pt")
    page.addElement(frame)
    textbox = TextBox()
    frame.addElement(textbox)
    textbox.addElement(P(text="WFO: %s" % (job['wfo'], )))
    textbox.addElement(
        P(text=("Radar: %s Product: %s"
                "") % (job['radar'], job['nexrad_product'])))
    textbox.addElement(P(text="Phenomenas: %s" % (job['wtype'], )))
    textbox.addElement(
        P(text="Start Time: %s UTC" % (job['sts'].strftime("%d %b %Y %H"), )))
    textbox.addElement(
        P(text="End Time: %s UTC" % (job['ets'].strftime("%d %b %Y %H"), )))
    textbox.addElement(P(text=""))
    textbox.addElement(P(text="Raccoon Version: %s" % (__REV__, )))
    textbox.addElement(
        P(text="Generated on: %s" %
          (datetime.datetime.utcnow().strftime("%d %b %Y %H:%M %Z"))))
    textbox.addElement(P(text=""))
    textbox.addElement(
        P(text="Bugs/Comments/Yelling?: daryl herzmann [email protected]"))

    i = 0
    for warning in warnings:
        # Make Index page for the warning
        page = Page(masterpagename=masterpage)
        doc.presentation.addElement(page)
        titleframe = Frame(stylename=indexstyle,
                           width="700pt",
                           height="500pt",
                           x="10pt",
                           y="10pt")
        page.addElement(titleframe)
        textbox = TextBox()
        titleframe.addElement(textbox)
        textbox.addElement(
            P(text="%s.O.NEW.K%s.%s.W.%04i" %
              (job['sts'].year, job['wfo'], warning['phenomena'],
               warning['eventid'])))
        textbox.addElement(
            P(text="Issue: %s UTC" %
              (warning['issue'].strftime("%d %b %Y %H:%M"), )))
        textbox.addElement(
            P(text="Expire: %s UTC" %
              (warning['expire'].strftime("%d %b %Y %H:%M"), )))
        textbox.addElement(
            P(text="Poly Area: %.1f sq km (%.1f sq mi) [%.1f%% vs County]" %
              (warning['polyarea'], warning['polyarea'] * 0.386102,
               warning['polyarea'] / warning['countyarea'] * 100.0)))
        textbox.addElement(
            P(text="County Area: %.1f square km (%.1f square miles)" %
              (warning['countyarea'], warning['countyarea'] * 0.386102)))

        url = ("http://iem.local/GIS/radmap.php?"
               "layers[]=places&layers[]=legend&layers[]=ci&layers[]=cbw"
               "&layers[]=sbw&layers[]=uscounties&layers[]=bufferedlsr"
               "&lsrbuffer=15")
        url += "&vtec=%s.O.NEW.K%s.%s.W.%04i" % (job['sts'].year, job['wfo'],
                                                 warning['phenomena'],
                                                 warning['eventid'])

        cmd = "wget -q -O %i.png '%s'" % (i, url)
        os.system(cmd)
        photoframe = Frame(stylename=photostyle,
                           width="480pt",
                           height="360pt",
                           x="160pt",
                           y="200pt")
        page.addElement(photoframe)
        href = doc.addPicture("%i.png" % (i, ))
        photoframe.addElement(Image(href=href))
        i += 1

        times = []
        now = warning['issue']
        while now < warning['expire']:
            times.append(now)
            now += datetime.timedelta(minutes=15)
        times.append(warning['expire'] - datetime.timedelta(minutes=1))

        for now in times:
            page = Page(stylename=dpstyle, masterpagename=masterpage)
            doc.presentation.addElement(page)
            titleframe = Frame(stylename=titlestyle,
                               width="720pt",
                               height="56pt",
                               x="40pt",
                               y="10pt")
            page.addElement(titleframe)
            textbox = TextBox()
            titleframe.addElement(textbox)
            textbox.addElement(
                P(text="%s.W.%04i Time: %s UTC" %
                  (warning['phenomena'], warning['eventid'],
                   now.strftime("%d %b %Y %H%M"))))

            if job['nexrad_product'] == 'N0U':
                if now < SUPER_RES:
                    n0qn0r = 'N0V'
                else:
                    n0qn0r = 'N0U'
            else:
                if now < SUPER_RES:
                    n0qn0r = 'N0R'
                else:
                    n0qn0r = 'N0Q'

            url = "http://iem.local/GIS/radmap.php?"
            url += "layers[]=ridge&ridge_product=%s&ridge_radar=%s&" % (
                n0qn0r, job['radar'])
            url += "layers[]=sbw&layers[]=sbwh&layers[]=uscounties&"
            url += "layers[]=lsrs&ts2=%s&" % ((
                now + datetime.timedelta(minutes=15)).strftime("%Y%m%d%H%M"), )
            url += "vtec=%s.O.NEW.K%s.%s.W.%04i&ts=%s" % (
                job['sts'].year, job['wfo'], warning['phenomena'],
                warning['eventid'], now.strftime("%Y%m%d%H%M"))

            cmd = "wget -q -O %i.png '%s'" % (i, url)
            os.system(cmd)
            photoframe = Frame(stylename=photostyle,
                               width="640pt",
                               height="480pt",
                               x="80pt",
                               y="70pt")
            page.addElement(photoframe)
            href = doc.addPicture("%i.png" % (i, ))
            photoframe.addElement(Image(href=href))
            i += 1

    doc.save(outputfile)
    del doc
    cmd = "unoconv -f ppt %s" % (outputfile, )
    subprocess.call(cmd, shell=True)
    pptfn = "%s.ppt" % (basefn, )
    print("Generated %s with %s slides" % (pptfn, i))
    if os.path.isfile(pptfn):
        print('...copied to webfolder')
        shutil.copyfile(pptfn, "/mesonet/share/pickup/raccoon/%s" % (pptfn, ))
        # Cleanup
        os.chdir(TMPDIR)
        subprocess.call("rm -rf %s" % (job['jobid'], ), shell=True)
    else:
        print("Uh oh, no output file, lets kill soffice.bin")
        subprocess.call("pkill --signal 9 soffice.bin", shell=True)
        add_job(job)
Exemplo n.º 10
0
def process_user_image_files(emailaddr):
    pagewidth = 800
    pageheight = 600
    logging.debug("cur_path %s" % (os.path.realpath('.'),) )
    odpfile = 'frieda_%s_%s.odp' % (emailaddr, time.strftime('%b_%d_%Y_%I%M%P'))
    ppt_content = []

    file_list = []
    for wroot, wsubdir, wfiles in os.walk('.'):
        wfiles = sort_files_by_time(wfiles, wroot)
        wsubdir = sort_files_by_time(wsubdir, wroot)
        cnt = 0
        for f in wfiles:
            cnt += 1
            file_list.append(os.path.join(wroot, f))
        if cnt != 0:
            wroot2 = '/' if len(wroot) < 2 else wroot[1:]
            ppt_content.append((wroot2, cnt))

    logging.debug('file_list: %r' % file_list)
    doc = OpenDocumentPresentation()
    pagelayout = PageLayout(name="MyLayout")
    pagelayout.addElement(PageLayoutProperties(backgroundcolor="#000000", margin="0pt", pagewidth="%dpt" %pagewidth,
                                               pageheight="%dpt" % pageheight, printorientation="landscape"))
    doc.automaticstyles.addElement(pagelayout)
    photostyle = Style(name="RadTeaching-photo", family="presentation")
    doc.styles.addElement(photostyle)
    dstyle = Style(name="d", family="drawing-page")
    dstyle.addElement(GraphicProperties(fillcolor="#000000"))
    dstyle.addElement(DrawingPageProperties(fill=True,
                                            fillcolor="#000000"))
    doc.automaticstyles.addElement(dstyle)


    masterpage = MasterPage(name="RadTeaching", pagelayoutname=pagelayout)
    doc.masterstyles.addElement(masterpage)
    images_added = 0
    # os.chdir(subdir)
    for picture in file_list:
        try:
            pictdata = open(picture).read()
            logging.debug("Adding %s" % (picture))
        except:
            logging.debug("Skipping %s" % (picture))
            continue
        ct,w,h = getImageInfoFileName(picture)
        if ct == 'not image':
            if picture[-4:] == '.dcm':
                png_picture = picture.replace('.dcm','.png')
                logging.debug("Converting %s to %s" % (picture, png_picture) )
                run_command(""" dcmj2pnm +on +Wi 1 %s %s """ % (picture, png_picture))
                picture = png_picture
                ct,w,h = getImageInfoFileName(picture)

        if ct not in ("jpeg", "jpg", "tiff", "png", "bmp", "gif", "tif"):
            logging.debug("Skipping %s unrecognized type %s" % (picture,ct) )
            continue
        if ct == "tiff" or ct == "tif":
            png_picture = picture.replace(".tiff",".tif").replace(".tif", ".png")
            logging.debug("Converting %s to %s" % (picture, png_picture))
            img = PythonMagick.Image()
            img.read(picture)
            if img.depth() > 8: # powerpoint can't handle 16 bit TIFF images.
                img.write(png_picture)
                del img
                picture = png_picture
                ct,w,h = getImageInfoFileName(picture)

        images_added += 1
        if w*pageheight > h*pagewidth: #check if width or height is limit to zooming
            h = float(h) * (pagewidth-2.0)/float(w)
            w = pagewidth - 2.0
        else:
            w = float(w)*(pageheight-2.0) / float(h)
            h = pageheight -2.0

        page = Page(stylename=dstyle, masterpagename=masterpage)
        doc.presentation.addElement(page)

        offsetx = (pagewidth - w)/2.0
        offsety = (pageheight - h)/2.0
        photoframe = Frame(stylename=photostyle, width='%fpt' % w, height='%fpt' % h,
                           x = '%fpt' % offsetx, y='%fpt' % offsety)
        page.addElement(photoframe)
        href = doc.addPicture(picture)
        photoframe.addElement(Image(href=href))

    if images_added > 0:
        logging.debug('Saving ODP as %s/%s' % (os.path.realpath('.'), odpfile))
        doc.save(odpfile)
    return (odpfile, images_added, ppt_content) if images_added > 0 else (False, 0, None)
Exemplo n.º 11
0
# This is free software.  You may redistribute it under the terms
# of the Apache license and the GNU General Public License Version
# 2 or at your option any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
#
# Contributor(s):
#

from odf.opendocument import OpenDocumentText
from odf.style import PageLayout, MasterPage, Header, Footer
from odf.text import P

textdoc = OpenDocumentText()
pl = PageLayout(name="pagelayout")
textdoc.automaticstyles.addElement(pl)
mp = MasterPage(name="Standard", pagelayoutname=pl)
textdoc.masterstyles.addElement(mp)
h = Header()
hp = P(text="header try")
h.addElement(hp)
mp.addElement(h)
textdoc.save("headers.odt")
Exemplo n.º 12
0
    # Style for the image frame
    photostyle = Style(name="beamer-image", family="presentation")
    doc.styles.addElement(photostyle)

    # Create page style
    dpstyle = Style(name="dp1", family="drawing-page")
    doc.automaticstyles.addElement(dpstyle)

    prstyle = Style(name="pr1",
                    family="presentation",
                    parentstylename="BeamerMaster-notes")
    doc.styles.addElement(prstyle)

    # Every drawing page must have a master page assigned to it.
    masterpage = MasterPage(name="BeamerMaster", pagelayoutname=pagelayout)
    doc.masterstyles.addElement(masterpage)

    # Slides
    i = 1
    for imgfname in fnames:
        fname = os.path.join(pict_dir, imgfname)
        page = Page(stylename=dpstyle, masterpagename=masterpage)
        doc.presentation.addElement(page)

        note = Notes(stylename=dpstyle)
        page.addElement(note)
        noteframe = Frame(stylename=prstyle,
                          layer="layout",
                          width="16.799cm",
                          height="13.364cm",
Exemplo n.º 13
0
 def __init__(self, *datos):
     self.textDoc = OpenDocumentText()
     self.h = Header()
     self.f = Footer()
     self.s = self.textDoc.styles
     self.pl = PageLayout(name="pagelayout")
     #datos para la cabecera
     Autor = datos[0]
     Obra = datos[1]
     #margenes para la pagina (PageLayout)
     layoutPagina = datos[2]
     print("layoutPagina")
     print(layoutPagina)
     MRight = str(layoutPagina[0]) + "cm"
     print("MRight " + MRight)
     MLeft = str(layoutPagina[1]) + "cm"
     MTop = str(layoutPagina[2]) + "cm"
     MBottom = str(layoutPagina[3]) + "cm"
     PaginaInicial = layoutPagina[4]
     #anadimos los datos a la pagina
     self.pl.addElement(
         PageLayoutProperties(margintop=MTop,
                              marginbottom=MBottom,
                              marginleft=MRight,
                              marginright=MLeft))
     self.textDoc.automaticstyles.addElement(self.pl)
     self.mp = MasterPage(name="Standard", pagelayoutname=self.pl)
     self.textDoc.masterstyles.addElement(self.mp)
     #Cabecera estilos
     #Normal
     EstiloCabeceraNormal = "CabeceraNormal"
     estilo = Style(name=EstiloCabeceraNormal,
                    family="text",
                    parentstylename="Standard")
     estilo.addElement(
         TextProperties(fontweight="light",
                        fontfamily="helvetica",
                        fontsize="9pt"))
     self.s.addElement(estilo)
     #Negritas
     EstiloCabeceraNegritas = "CabeceraNegritas"
     estilo = Style(name=EstiloCabeceraNegritas,
                    family="text",
                    parentstylename=EstiloCabeceraNormal)
     estilo.addElement(TextProperties(fontweight="bold"))
     self.s.addElement(estilo)
     #Normal centrado
     EstiloCabeceraNormalCentrado = "CabeceraNormalCentrado"
     estilo = Style(name=EstiloCabeceraNormalCentrado,
                    family="paragraph",
                    parentstylename=EstiloCabeceraNormal)
     estilo.addElement(
         ParagraphProperties(textalign="center",
                             numberlines="true",
                             linenumber="0"))
     self.s.addElement(estilo)
     #linea horizontal fina
     linea_horizontal_fina = Style(name="Lineahorizontalfina",
                                   displayname="Horizontal Line Thin",
                                   family="paragraph")
     linea_horizontal_fina.addElement(ParagraphProperties(margintop="0cm", marginbottom="0cm", marginright="0cm", marginleft="0cm", \
     contextualspacing="false", borderlinewidthbottom="0cm 0.030cm 0.02cm", padding="0cm", borderleft="none", borderright="none", \
     bordertop="none", borderbottom="0.06pt double #3a3b3d", numberlines="false", linenumber="0", joinborder="false"))
     self.s.addElement(linea_horizontal_fina)
     #numeracion
     numeracion = "Numeracion"
     estilo = Style(name=numeracion, family="paragraph")
     #estilo.addElement(PageNumber(selectpage="current"))
     #Cabecera contenidos
     hp = P()
     texto_cabecera = Span(stylename=EstiloCabeceraNegritas,
                           text="Proyecto:\t")
     hp.addElement(texto_cabecera)
     texto_cabecera = Span(stylename=EstiloCabeceraNormal, text=Obra)
     hp.addElement(texto_cabecera)
     self.h.addElement(hp)
     hp = P()
     texto_cabecera = Span(stylename=EstiloCabeceraNegritas,
                           text="Autor:\t")
     hp.addElement(texto_cabecera)
     texto_cabecera = Span(stylename=EstiloCabeceraNormal, text=Autor)
     hp.addElement(texto_cabecera)
     self.h.addElement(hp)
     hp = P(stylename=linea_horizontal_fina)
     self.h.addElement(hp)
     self.mp.addElement(self.h)
     #Pie de pagina
     fp = P(stylename=EstiloCabeceraNormalCentrado)
     pagina = Span(stylename=EstiloCabeceraNormal, text="Página: ")
     fp.addElement(pagina)
     numero = PageNumber(selectpage="auto", text=4)
     fp.addElement(numero)
     self.f.addElement(fp)
     self.mp.addElement(self.f)
Exemplo n.º 14
0
backgroundstyle = Style(family="graphic", name="blueback")
backgroundstyle.addElement(GraphicProperties(fill="solid", fillcolor="#003399", stroke="none"))
doc.automaticstyles.addElement(backgroundstyle)

# The style for the stars
starstyle = Style(family="graphic", name="starstyle")
starstyle.addElement(GraphicProperties(fill="solid", fillcolor="#ffcc00", stroke="none"))
doc.automaticstyles.addElement(starstyle)

# Create page layout specifying dimensions
plstyle = PageLayout(name="PM1")
plstyle.addElement(PageLayoutProperties(margin="0cm", pageheight="120mm", pagewidth="180mm", printorientation="portrait"))
doc.automaticstyles.addElement(plstyle)

# Create a master page
masterpage = MasterPage(stylename=dpstyle, name="Default", pagelayoutname=plstyle)
doc.masterstyles.addElement(masterpage)

# Create a page to contain the drawing
drawpage = Page(masterpagename=masterpage, name="page1", stylename=dpstyle)
doc.drawing.addElement(drawpage)

group=G()
drawpage.addElement(group)

turtle = VectorSet()
# Draw the edges
turtle.mark()
for edge in [ 0,1,2,3,5 ]:
    turtle.forward(100)
    turtle.mark()