def drawToFile(d, fn, msg="", showBoundary=rl_config._unset_, autoSize=1): """Makes a one-page PDF with just the drawing. If autoSize=1, the PDF will be the same size as the drawing; if 0, it will place the drawing on an A4 page with a title above it - possibly overflowing if too big.""" d = renderScaledDrawing(d) c = Canvas(fn) if msg: c.setFont(rl_config.defaultGraphicsFontName, 36) c.drawString(80, 750, msg) c.setTitle(msg) if autoSize: c.setPageSize((d.width, d.height)) draw(d, c, 0, 0, showBoundary=showBoundary) else: #show with a title c.setFont(rl_config.defaultGraphicsFontName, 12) y = 740 i = 1 y = y - d.height draw(d, c, 80, y, showBoundary=showBoundary) c.showPage() c.save() if sys.platform=='mac' and not hasattr(fn, "write"): try: import macfs, macostools macfs.FSSpec(fn).SetCreatorType("CARO", "PDF ") macostools.touched(fn) except: pass
def draw(drawing, canvas, x, y, showBoundary=rl_config._unset_): """As it says""" R = _PDFRenderer() R.draw(renderScaledDrawing(drawing), canvas, x, y, showBoundary=showBoundary)
def drawToFile(d, fn, showBoundary=rl_config.showBoundary): d = renderScaledDrawing(d) c = SVGCanvas((d.width, d.height)) draw(d, c, 0, 0, showBoundary=showBoundary) c.save(fn)
def draw(drawing, canvas, x=0, y=0, showBoundary=rl_config.showBoundary): """As it says.""" r = _SVGRenderer() r.draw(renderScaledDrawing(drawing), canvas, x, y, showBoundary=showBoundary)
def drawToPMCanvas(d, dpi=72, bg=0xffffff, configPIL=None, showBoundary=rl_config._unset_): d = renderScaledDrawing(d) c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL) draw(d, c, 0, 0, showBoundary=showBoundary) return c
def draw(drawing, canvas, x=0, y=0, showBoundary=rl_config.showBoundary): """As it says""" R = _PSRenderer() R.draw(renderScaledDrawing(drawing), canvas, x, y, showBoundary=showBoundary)
def draw(drawing, canvas, x, y, showBoundary=rl_config._unset_): """As it says""" R = _PMRenderer() R.draw(renderScaledDrawing(drawing), canvas, x, y, showBoundary=showBoundary)
def drawToFile(d,fn, showBoundary=rl_config.showBoundary,**kwd): d = renderScaledDrawing(d) c = PSCanvas((d.width,d.height)) draw(d, c, 0, 0, showBoundary=showBoundary) c.save(fn)