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
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
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