<div dir="ltr">Hola a todos.<div><br></div><div>He hecho un script que configura un mapa con datos de una parcela seleccionada.</div><div>Estoy intentando hacer que una vez termine lo imprima en pdf, pero no logro averiguar por donde ir.</div><div><br></div><div>Alguien lo ha intentado antes? </div><div><br></div><div>Aquí dejo el código que configura el mapa.</div><div><br></div><div>Gracias de antemano.</div><div><br></div><div><div>#--------------&gt;&lt;--------------------&gt;&lt;--------------------------</div><div># ==========================================================</div><div>#</div><div># Declara como que el plugin de scripting puede importar modulos </div><div># de otro plugin de gvSIG.</div><div>#</div><div># Por ejemplo, tras ejecutar:</div><div>#</div><div>#   use_plugin(&quot;org.gvsig.app.document.layout2.app.mainplugin&quot;)</div><div>#</div><div># Ya podriamos importar modulos del plugin de Mapas (documento mapa)</div><div>#</div><div><br></div><div>def use_plugin(pluginName):</div><div>  from org.gvsig.andami import PluginsLocator</div><div><br></div><div>  pluginsManager = PluginsLocator.getManager()</div><div>  other = pluginsManager.getPlugin(pluginName)</div><div>  scripting = pluginsManager.getPlugin(&quot;org.gvsig.scripting.app.extension&quot;)</div><div>  scripting.addDependencyWithPlugin(other)</div><div><br></div><div>#</div><div># ==========================================================</div><div>#</div><div><br></div><div>use_plugin(&quot;org.gvsig.app.document.layout2.app.mainplugin&quot;)</div><div><br></div><div>#--------------&gt;&lt;--------------------&gt;&lt;--------------------------</div><div><br></div><div>from org.gvsig.app import ApplicationLocator</div><div>from org.gvsig.app.project.documents.layout import LayoutManager</div><div>from org.gvsig.app.extension import Print</div><div>from org.gvsig.app.extension import ExportLayoutExtension</div><div>import math</div><div>import time</div><div><br></div><div>from java.awt.image import *</div><div>from javax.imageio import ImageIO</div><div>from <a href="http://java.io">java.io</a> import File;</div><div><br></div><div><br></div><div><br></div><div>def main(*args):</div><div><br></div><div>  #PASAR A VARIABLES DE LA FUNCION</div><div>  variables={}</div><div>  txt_rcat = &#39;Referencia catastral: 987654321098765&#39;</div><div>  fact_redondeo=50.0</div><div>  dSemana =time.strftime(&quot;%A&quot;,time.localtime())</div><div>  nMes = time.strftime(&quot;%B&quot;,time.localtime())</div><div>  fecha=dSemana[:1].upper() + dSemana[1:] + &#39;, &#39; + time.strftime(&quot;%d&quot;,time.localtime()) + &#39; de &#39; + nMes[:1].upper()+ nMes[1:] + &#39; de &#39; +time.strftime(&quot;%Y&quot;,time.localtime())</div><div>  variables [&#39;Fecha&#39;]= fecha</div><div>  variables [&#39;Rcat&#39;]=txt_rcat</div><div><br></div><div>  # Recuperamos el proyecto</div><div>  project = ApplicationLocator.getManager().getCurrentProject()</div><div><br></div><div>  # Recuperamos un layout por nombre</div><div>  layout = project.getDocument(&quot;Mapa_1&quot;, LayoutManager.TYPENAME)</div><div><br></div><div>  </div><div>  #print layout.__class__.__name__, layout.getName()</div><div>  contextLayout = layout.getLayoutContext()</div><div>  for elemento in  contextLayout.getAllFFrames():</div><div>#    print elemento.getName()</div><div>    if elemento.getName() == &#39;FFrameView&#39;:</div><div>      mapContext= elemento.getMapContext()</div><div>      vp = mapContext.getViewPort()</div><div>      vp.setEnvelope(mapContext.getSelectionBounds())</div><div>      escala_round =long(math.ceil(elemento.getScale()/fact_redondeo)*fact_redondeo)</div><div>      mapContext.setScaleView(escala_round)</div><div>      txt_escala = &#39;Escala: %s&#39; %elemento.getScale()</div><div>      </div><div>      </div><div>    if elemento.getName() == &#39;FFrameText&#39;:</div><div>      if elemento.getTitle() == &#39;Escala&#39;:</div><div>        elemento.clearText()</div><div>        elemento.addText (txt_escala)</div><div>      else:</div><div>        titulo= elemento.getTitle()</div><div>        if not (titulo is None):</div><div>          elemento.clearText()</div><div>          print titulo,variables[titulo]</div><div>          elemento.addText (variables[titulo])#·(&#39;Referencia catastral: %s&#39;%txt_rcat)</div><div>  print &quot;----------------------------&quot;</div><div>  </div><div><br></div><div>  layoutManager = ApplicationLocator.getProjectManager().getDocumentManager(LayoutManager.TYPENAME)</div><div><br></div><div>  layout = project.getDocument(&quot;Mapa_1&quot;, LayoutManager.TYPENAME)</div><div>  layoutPanel = layoutManager.getMainWindow(layout)</div><div>  print layoutPanel.__class__.__name__, layoutPanel.getDocument().getName()</div><div>  print dir(layout)</div><div>  impresora = ExportLayoutExtension</div><div>  print dir(impresora)</div></div><div><br></div><div><br></div></div>