示例#1
0
def render(src,
           dst_template,
           offset,
           mimetype,
           omitinvisible,
           omitnumbers,
           progress=False):
    preso = juno.desktop. \
        loadComponentFromURL(juno.mkpath(src), "_blank", 0,
                             (juno.PropertyValue("Hidden", True), ))

    if omitnumbers:
        masters = preso.getMasterPages()
        for i in range(0, masters.getCount()):
            m = masters.getByIndex(i)
            for j in range(0, m.getCount()):
                i = m.getByIndex(j)
                # TODO: this is a bit doubtful
                if i.supportsService("com.sun.star.drawing.Text") and \
                        i.getString() == "<number>":
                    i.setString("")

        masters = preso.getDrawPages()
        for i in range(0, masters.getCount()):
            m = masters.getByIndex(i)
            for j in range(0, m.getCount()):
                i = m.getByIndex(j)
                # TODO: this is even more doubtful
                if i.supportsService("com.sun.star.drawing.Text") and \
                        i.getString() == "<number>":
                    i.setString("")

    pages = preso.getDrawPages()
    pagect = pages.getCount()
    for i in range(0, pagect):
        if progress:
            print("\r[%s] %s: %d/%d" %
                  (odf.utils.spinner(offset), src, i + 1, pagect),
                  end="",
                  file=sys.stderr)

        page = pages.getByIndex(i)
        if omitinvisible and not page.Visible: continue

        filter.setSourceDocument(page)
        filter.filter((juno.PropertyValue("MediaType", mimetype),
                       juno.PropertyValue("URL",
                                          juno.mkpath(dst_template % offset))))
        offset += 1

    if progress:
        print("\r   ", file=sys.stderr)

    preso.dispose()

    return offset
示例#2
0
def render(src, dst_template, offset, mimetype, omitinvisible, omitnumbers, progress = False):
    preso = juno.desktop. \
        loadComponentFromURL(juno.mkpath(src), "_blank", 0,
                             (juno.PropertyValue("Hidden", True), ))

    if omitnumbers:    
        masters = preso.getMasterPages()
        for i in range(0, masters.getCount()):
            m = masters.getByIndex(i)
            for j in range (0, m.getCount()):
                i = m.getByIndex(j)
                # TODO: this is a bit doubtful
                if i.supportsService("com.sun.star.drawing.Text") and \
                        i.getString() == "<number>":
                    i.setString("")

        masters = preso.getDrawPages()
        for i in range(0, masters.getCount()):
            m = masters.getByIndex(i)
            for j in range (0, m.getCount()):
                i = m.getByIndex(j)
                # TODO: this is even more doubtful
                if i.supportsService("com.sun.star.drawing.Text") and \
                        i.getString() == "<number>":
                    i.setString("")

    pages = preso.getDrawPages()
    pagect = pages.getCount()
    for i in range(0, pagect):
        if progress:
            print >>sys.stderr, "\r[%s] %s: %d/%d" % \
                (odf.utils.spinner(offset), src, i + 1, pagect),

        page = pages.getByIndex(i)
        if omitinvisible and not page.Visible: continue
        
        filter.setSourceDocument(page)
        filter.filter((juno.PropertyValue("MediaType", mimetype),
                       juno.PropertyValue("URL", juno.mkpath(dst_template % offset))))
        offset += 1

    if progress:
        print >>sys.stderr, "\r   "

    preso.dispose()

    return offset
示例#3
0
def lsfonts(path):
    preso = juno.desktop. \
        loadComponentFromURL(juno.mkpath(path), "_blank", 0,
                             (juno.PropertyValue("Hidden", True), ))

    fonts = set()

    iterate_pages(fonts, preso.getMasterPages(), prefix = "master ")
    iterate_pages(fonts, preso.getDrawPages())

    preso.dispose()

    return fonts