[Gvsig_usuarios] Imprimir PDF script

Javier Galán javiergalans en gmail.com
Vie Abr 29 08:48:51 CEST 2016


Hola a todos.

He hecho un script que configura un mapa con datos de una parcela
seleccionada.
Estoy intentando hacer que una vez termine lo imprima en pdf, pero no logro
averiguar por donde ir.

Alguien lo ha intentado antes?

Aquí dejo el código que configura el mapa.

Gracias de antemano.

#--------------><--------------------><--------------------------
# ==========================================================
#
# Declara como que el plugin de scripting puede importar modulos
# de otro plugin de gvSIG.
#
# Por ejemplo, tras ejecutar:
#
#   use_plugin("org.gvsig.app.document.layout2.app.mainplugin")
#
# Ya podriamos importar modulos del plugin de Mapas (documento mapa)
#

def use_plugin(pluginName):
  from org.gvsig.andami import PluginsLocator

  pluginsManager = PluginsLocator.getManager()
  other = pluginsManager.getPlugin(pluginName)
  scripting = pluginsManager.getPlugin("org.gvsig.scripting.app.extension")
  scripting.addDependencyWithPlugin(other)

#
# ==========================================================
#

use_plugin("org.gvsig.app.document.layout2.app.mainplugin")

#--------------><--------------------><--------------------------

from org.gvsig.app import ApplicationLocator
from org.gvsig.app.project.documents.layout import LayoutManager
from org.gvsig.app.extension import Print
from org.gvsig.app.extension import ExportLayoutExtension
import math
import time

from java.awt.image import *
from javax.imageio import ImageIO
from java.io import File;



def main(*args):

  #PASAR A VARIABLES DE LA FUNCION
  variables={}
  txt_rcat = 'Referencia catastral: 987654321098765'
  fact_redondeo=50.0
  dSemana =time.strftime("%A",time.localtime())
  nMes = time.strftime("%B",time.localtime())
  fecha=dSemana[:1].upper() + dSemana[1:] + ', ' +
time.strftime("%d",time.localtime()) + ' de ' + nMes[:1].upper()+ nMes[1:]
+ ' de ' +time.strftime("%Y",time.localtime())
  variables ['Fecha']= fecha
  variables ['Rcat']=txt_rcat

  # Recuperamos el proyecto
  project = ApplicationLocator.getManager().getCurrentProject()

  # Recuperamos un layout por nombre
  layout = project.getDocument("Mapa_1", LayoutManager.TYPENAME)


  #print layout.__class__.__name__, layout.getName()
  contextLayout = layout.getLayoutContext()
  for elemento in  contextLayout.getAllFFrames():
#    print elemento.getName()
    if elemento.getName() == 'FFrameView':
      mapContext= elemento.getMapContext()
      vp = mapContext.getViewPort()
      vp.setEnvelope(mapContext.getSelectionBounds())
      escala_round
=long(math.ceil(elemento.getScale()/fact_redondeo)*fact_redondeo)
      mapContext.setScaleView(escala_round)
      txt_escala = 'Escala: %s' %elemento.getScale()


    if elemento.getName() == 'FFrameText':
      if elemento.getTitle() == 'Escala':
        elemento.clearText()
        elemento.addText (txt_escala)
      else:
        titulo= elemento.getTitle()
        if not (titulo is None):
          elemento.clearText()
          print titulo,variables[titulo]
          elemento.addText (variables[titulo])#·('Referencia catastral:
%s'%txt_rcat)
  print "----------------------------"


  layoutManager =
ApplicationLocator.getProjectManager().getDocumentManager(LayoutManager.TYPENAME)

  layout = project.getDocument("Mapa_1", LayoutManager.TYPENAME)
  layoutPanel = layoutManager.getMainWindow(layout)
  print layoutPanel.__class__.__name__, layoutPanel.getDocument().getName()
  print dir(layout)
  impresora = ExportLayoutExtension
  print dir(impresora)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20160429/3011d843/attachment.htm 


Más información sobre la lista de distribución gvSIG_usuarios