Esempio n. 1
0
def pdf_saver(sk2_doc, filename=None, fileptr=None, translate=True, cnf=None,
              **kw):
    cnf = merge_cnf(cnf, kw)
    sk2_saver = sk2_doc.saver
    sk2_doc.saver = PDF_Saver()
    sk2_doc.save(filename, fileptr)
    sk2_doc.saver = sk2_saver
Esempio n. 2
0
def dst_saver(doc,
              filename=None,
              fileptr=None,
              translate=True,
              cnf=None,
              **kw):
    from uc2.formats.dst.dst_presenter import DstPresenter
    cnf = merge_cnf(cnf, kw)
    if translate:
        dst_doc = DstPresenter(doc.appdata, cnf)
        dst_doc.doc_file = filename
        dst_doc.translate_from_sk2(doc)
        dst_doc.save(filename, fileptr)
        dst_doc.close()
    else:
        doc.save(filename)

    if dst_doc.config.create_edr_palette:
        from uc2.formats.skp import SKP_Presenter
        from uc2.formats.edr_pal import edr_pal_saver
        skp_doc = SKP_Presenter(doc.appdata)
        skp_doc.model.colors = dst_doc.colors or []
        edr_pal_saver(skp_doc,
                      filename=filename.rsplit('.', 1)[0] + '.edr',
                      translate=False,
                      convert=True)
Esempio n. 3
0
def im_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None,
              **kw):
    cnf = merge_cnf(cnf, kw)

    sk2_doc = SK2_Presenter(appdata, cnf)
    sk2_doc.doc_file = filename
    sk2_doc.methods.set_doc_origin(sk2const.DOC_ORIGIN_LU)
    sk2_doc.methods.set_doc_units(uc2const.UNIT_PX)
    page = sk2_doc.methods.get_page()

    image_obj = sk2_model.Pixmap(sk2_doc.config)
    image_obj.handler.load_from_file(sk2_doc.cms, filename)

    orient = uc2const.PORTRAIT
    w = image_obj.size[0] * uc2const.px_to_pt
    h = image_obj.size[1] * uc2const.px_to_pt
    if image_obj.size[0] > image_obj.size[1]:
        orient = uc2const.LANDSCAPE

    image_obj.trafo = [1.0, 0.0, 0.0, 1.0, -w / 2.0, -h / 2.0]

    sk2_doc.methods.set_page_format(page, ['Custom', (w, h), orient])
    sk2_doc.methods.set_default_page_format(['Custom', (w, h), orient])
    grid_layer = sk2_doc.methods.get_grid_layer()
    grid_layer.grid = [0, 0, uc2const.px_to_pt, uc2const.px_to_pt]
    grid_layer.properties = [1, 0, 0]

    layer = sk2_doc.methods.get_layer(page)

    layer.childs.append(image_obj)
    sk2_doc.update()
    return sk2_doc
Esempio n. 4
0
def png_saver(sk2_doc,
              filename=None,
              fileptr=None,
              translate=True,
              cnf=None,
              **kw):
    cnf = merge_cnf(cnf, kw)
    if filename and not fileptr:
        fileptr = get_fileptr(filename, True)
    page = sk2_doc.methods.get_page()
    w, h = page.page_format[1]
    trafo = (1.0, 0, 0, -1.0, w / 2.0, h / 2.0)

    canvas_matrix = cairo.Matrix(*trafo)
    surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, int(w), int(h))
    ctx = cairo.Context(surface)
    ctx.set_matrix(canvas_matrix)

    rend = CairoRenderer(sk2_doc.cms)
    antialias_flag = True
    if 'antialiasing' in cnf.keys():
        if not cnf['antialiasing'] in ('True', '1'):
            antialias_flag = False
    rend.antialias_flag = antialias_flag
    layers = sk2_doc.methods.get_visible_layers(page)

    for item in layers:
        if not item.properties[3] and antialias_flag:
            rend.antialias_flag = False
        rend.render(ctx, item.childs)
        if not item.properties[3] and antialias_flag:
            rend.antialias_flag = True

    surface.write_to_png(fileptr)
    fileptr.close()
Esempio n. 5
0
def png_saver(sk2_doc,
              filename=None,
              fileptr=None,
              translate=True,
              cnf=None,
              **kw):
    cnf = merge_cnf(cnf, kw)
    if filename and not fileptr:
        fileptr = get_fileptr(filename, True)
    page = sk2_doc.methods.get_page()
    scale = abs(float(cnf.get('scale', 1.0))) or 1.0
    w, h = [scale * item for item in page.page_format[1]]
    trafo = (scale, 0, 0, -scale, w / 2.0, h / 2.0)

    canvas_matrix = cairo.Matrix(*trafo)
    surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, int(w), int(h))
    ctx = cairo.Context(surface)
    ctx.set_matrix(canvas_matrix)

    antialias_flag = not cnf.get('antialiasing') in (False, 0)
    layers = sk2_doc.methods.get_visible_layers(page)
    rend = CairoRenderer(sk2_doc.cms)

    for item in layers:
        rend.antialias_flag = not any(
            [not item.properties[3], not antialias_flag])
        rend.render(ctx, item.childs)

    surface.write_to_png(fileptr)
    fileptr.close()
Esempio n. 6
0
def sk2_saver(sk2_doc,
              filename=None,
              fileptr=None,
              translate=True,
              cnf=None,
              **kw):
    cnf = merge_cnf(cnf, kw)
    sk2_doc.save(filename, fileptr)
Esempio n. 7
0
def riff_saver(riff_doc,
               filename=None,
               fileptr=None,
               translate=True,
               cnf=None,
               **kw):
    cnf = merge_cnf(cnf, kw)
    riff_doc.save(filename, fileptr)
Esempio n. 8
0
def cdr_saver(cdr_doc,
              filename=None,
              fileptr=None,
              translate=True,
              cnf=None,
              **kw):
    cnf = merge_cnf(cnf, kw)
    cdr_doc.save(filename)
Esempio n. 9
0
def plt_saver(doc, filename=None, fileptr=None, translate=True, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    if translate:
        plt_doc = PltPresenter(doc.appdata, cnf)
        plt_doc.translate_from_sk2(doc)
        plt_doc.save(filename, fileptr)
        plt_doc.close()
    else:
        doc.save(filename)
Esempio n. 10
0
def xml__saver(doc,
               filename=None,
               fileptr=None,
               translate=False,
               convert=False,
               cnf=None,
               **kw):
    cnf = merge_cnf(cnf, kw)
    doc.save(filename, fileptr)
Esempio n. 11
0
def pes_saver(doc, filename=None, fileptr=None, translate=True, cnf=None, **kw):
    from uc2.formats.pes.pes_presenter import PesPresenter
    cnf = merge_cnf(cnf, kw)
    if translate:
        pes_doc = PesPresenter(doc.appdata, cnf)
        pes_doc.translate_from_sk2(doc)
        pes_doc.save(filename, fileptr)
        pes_doc.close()
    else:
        doc.save(filename)
Esempio n. 12
0
def md_loader(appdata,
              filename=None,
              fileptr=None,
              translate=True,
              cnf=None,
              **kw):
    cnf = merge_cnf(cnf, kw)
    doc = MdPresenter(appdata, cnf)
    doc.load(filename, fileptr)
    return doc
Esempio n. 13
0
def skp_saver(doc, filename=None, fileptr=None, translate=True,
              convert=False, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    if translate:
        skp_doc = SKP_Presenter(doc.appdata, cnf)
        skp_doc.translate_from_sk2(doc)
        skp_doc.save(filename, fileptr)
        skp_doc.close()
    else:
        doc.save(filename, fileptr)
Esempio n. 14
0
def gpl_saver(doc, filename=None, fileptr=None, translate=True,
              convert=False, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    appdata = doc.appdata
    if convert:
        gpl_doc = GPL_Presenter(appdata, cnf)
        gpl_doc.convert_from_skp(doc)
        gpl_doc.save(filename, fileptr)
        gpl_doc.close()
    else:
        doc.save(filename, fileptr)
Esempio n. 15
0
def scribus_pal_saver(doc, filename=None, fileptr=None, translate=True,
                      convert=False, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    appdata = doc.appdata
    if convert:
        scrb_doc = ScribusPalettePresenter(appdata, cnf)
        scrb_doc.convert_from_skp(doc)
        scrb_doc.save(filename, fileptr)
        scrb_doc.close()
    else:
        doc.save(filename, fileptr)
Esempio n. 16
0
def scribus_pal_loader(appdata, filename=None, fileptr=None, translate=True,
                       convert=False, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    doc = ScribusPalettePresenter(appdata, cnf)
    doc.load(filename, fileptr)
    if convert:
        skp_doc = SKP_Presenter(appdata, cnf)
        doc.convert_to_skp(skp_doc)
        doc.close()
        return skp_doc
    return doc
Esempio n. 17
0
def cdrz_loader(appdata, filename, translate=True, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    doc = CDRZ_Presenter(appdata, cnf)
    doc.load(filename)
    if translate:
        pdxf_doc = PDXF_Presenter(appdata, cnf)
        pdxf_doc.doc_file = filename
        doc.traslate_to_pdxf(pdxf_doc)
        doc.close()
        doc = pdxf_doc
    return doc
Esempio n. 18
0
def xml__loader(appdata,
                filename=None,
                fileptr=None,
                translate=False,
                convert=False,
                cnf=None,
                **kw):
    cnf = merge_cnf(cnf, kw)
    doc = XML_Presenter(appdata, cnf)
    doc.load(filename, fileptr)
    return doc
Esempio n. 19
0
def skp_loader(appdata, filename=None, fileptr=None, translate=True,
               convert=False, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    doc = SKP_Presenter(appdata, cnf)
    doc.load(filename, fileptr)
    if translate:
        sk2_doc = SK2_Presenter(appdata, cnf)
        doc.translate_to_sk2(sk2_doc)
        doc.close()
        return sk2_doc
    return doc
Esempio n. 20
0
def cmx_loader(appdata, filename=None, fileptr=None,
               translate=True, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    cmx_doc = CMX_Presenter(appdata, cnf)
    cmx_doc.load(filename, fileptr)
    if translate:
        sk2_doc = SK2_Presenter(appdata, cnf)
        sk2_doc.doc_file = filename
        cmx_doc.translate_to_sk2(sk2_doc)
        cmx_doc.close()
        return sk2_doc
    return cmx_doc
Esempio n. 21
0
def plt_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None,
               **kw):
    cnf = merge_cnf(cnf, kw)
    doc = PltPresenter(appdata, cnf)
    doc.load(filename, fileptr)
    if translate:
        sk2_doc = SK2_Presenter(appdata, cnf)
        sk2_doc.doc_file = filename
        doc.translate_to_sk2(sk2_doc)
        doc.close()
        doc = sk2_doc
    return doc
Esempio n. 22
0
def sk_saver(sk2_doc, filename=None, fileptr=None, translate=True, cnf=None,
             **kw):
    cnf = merge_cnf(cnf, kw)
    if sk2_doc.cid == uc2const.SK:
        translate = False
    if translate:
        sk_doc = SK_Presenter(sk2_doc.appdata, cnf)
        sk_doc.translate_from_sk2(sk2_doc)
        sk_doc.save(filename, fileptr)
        sk_doc.close()
    else:
        sk2_doc.save(filename, fileptr)
Esempio n. 23
0
def svg_loader(appdata, filename=None, fileptr=None,
               translate=True, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    svg_doc = SVG_Presenter(appdata, cnf)
    svg_doc.load(filename, fileptr)
    if translate:
        sk2_doc = SK2_Presenter(appdata, cnf)
        if filename:
            sk2_doc.doc_file = filename
        svg_doc.translate_to_sk2(sk2_doc)
        svg_doc.close()
        return sk2_doc
    return svg_doc
Esempio n. 24
0
def svgz_saver(sk2_doc, filename=None, fileptr=None,
              translate=True, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    if sk2_doc.cid == uc2const.SVG:
        translate = False
    path = get_sys_path(filename)
    fileptr = gzip.open(path, 'wb')
    if translate:
        svg_doc = SVG_Presenter(sk2_doc.appdata, cnf)
        svg_doc.translate_from_sk2(sk2_doc)
        svg_doc.save(None, fileptr)
        svg_doc.close()
    else:
        sk2_doc.save(None, fileptr)
Esempio n. 25
0
def pes_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None,
               **kw):
    from uc2.formats.pes.pes_presenter import PesPresenter
    from uc2.formats.sk2.sk2_presenter import SK2_Presenter
    cnf = merge_cnf(cnf, kw)
    doc = PesPresenter(appdata, cnf)
    doc.load(filename, fileptr)
    if translate:
        sk2_doc = SK2_Presenter(appdata, cnf)
        sk2_doc.doc_file = filename
        doc.translate_to_sk2(sk2_doc)
        doc.close()
        doc = sk2_doc
    return doc
Esempio n. 26
0
def dst_saver(doc,
              filename=None,
              fileptr=None,
              translate=True,
              cnf=None,
              **kw):
    from uc2.formats.dst.dst_presenter import DstPresenter
    cnf = merge_cnf(cnf, kw)
    if translate:
        dst_doc = DstPresenter(doc.appdata, cnf)
        dst_doc.translate_from_sk2(doc)
        dst_doc.save(filename, fileptr)
        dst_doc.close()
    else:
        doc.save(filename)
Esempio n. 27
0
def svgz_loader(appdata, filename=None, fileptr=None,
               translate=True, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    svg_doc = SVG_Presenter(appdata, cnf)
    path = get_sys_path(filename)
    fileptr = gzip.open(path, 'rb')
    svg_doc.load(None, fileptr)
    if translate:
        sk2_doc = SK2_Presenter(appdata, cnf)
        if filename:
            sk2_doc.doc_file = filename
        svg_doc.translate_to_sk2(sk2_doc)
        svg_doc.close()
        return sk2_doc
    return svg_doc
Esempio n. 28
0
def cdr_saver(sk2_doc, filename=None, fileptr=None,
              translate=True, cnf=None, **kw):
    kw['pack'] = True
    cnf = merge_cnf(cnf, kw)
    if sk2_doc.cid == uc2const.CMX:
        translate = False
    if translate:
        cnf['v1'] = True
        cnf['v16bit'] = True
        cmx_doc = CMX_Presenter(sk2_doc.appdata, cnf)
        cmx_doc.translate_from_sk2(sk2_doc)
        cmx_doc.save(filename, fileptr)
        cmx_doc.close()
    else:
        sk2_doc.save(filename, fileptr)
Esempio n. 29
0
def fig_saver(sk2_doc, filename=None, fileptr=None,
              translate=True, cnf=None, **kw):
    cnf = merge_cnf(cnf, kw)
    if sk2_doc.cid == uc2const.FIG:
        translate = False
    if translate:
        fig_doc = FIG_Presenter(sk2_doc.appdata, cnf)
        doc_file = filename or fileptr and fileptr.name
        fig_doc.doc_file = doc_file
        name = os.path.basename(doc_file)
        fig_doc.doc_id = os.path.splitext(name)[0]
        fig_doc.translate_from_sk2(sk2_doc)
        fig_doc.save(filename, fileptr)
        fig_doc.close()
    else:
        sk2_doc.save(filename, fileptr)
Esempio n. 30
0
def corel_pal_saver(doc,
                    filename=None,
                    fileptr=None,
                    translate=True,
                    convert=False,
                    cnf=None,
                    **kw):
    cnf = merge_cnf(cnf, kw)
    appdata = doc.appdata
    if convert:
        crl_doc = CorelPalette_Presenter(appdata, cnf)
        crl_doc.convert_from_skp(doc)
        crl_doc.save(filename, fileptr)
        crl_doc.close()
    else:
        doc.save(filename, fileptr)