Quiero crear un PDF desde WMS en una aplicación de mapa web.
¿Alguien puede recomendar un componente robusto? Quisiera código abierto gratuito bajo una licencia relativamente amigable para los negocios (no sería ideal GPL, BSD / MIT, etc. LGPL estaría bien).
- Nuestras capas WMS son producidas por ncWMS y UNM MapServer . También queremos superponer algunas capas de proveedores externos de WMS.
- EDITAR : Estamos desarrollando nuestro propio cliente JavaScript basado en OpenLayers.
- EDITAR : Tenemos un código de back-end en Java. También consideraríamos PHP u otras plataformas para crear el PDF.
MapFish sería excelente pero es GPL.
open-source-gis
wms
pdf
MarkJ
fuente
fuente
Respuestas:
Uso Cairo y Pango (ambos LGPL) juntos para crear mapas PDF.
Es una solución de bajo nivel, pero Cairo tiene excelentes capacidades de dibujo de vectores y manejo de ráster, mientras que Pango es excelente en la composición tipográfica. Los resultados generales son excelentes, pero requiere mucha codificación. Por ejemplo, si quiero crear un mapa usando una salida WMS, construyo una solicitud WMS, solicito la imagen y la dibujo en un lienzo PDF usando Cairo.
Utilizo estas bibliotecas a través de Java-Gnome, pero hay enlaces para ambos en la mayoría de los idiomas.
fuente
¿Qué pasa con el uso de http://code.google.com/p/wkhtmltopdf/ ? Es lgpl y le permite simplemente generar un pdf desde una plantilla de página web. Utilizamos este enfoque junto con django para generar dinámicamente el html antes de convertirlo en pdf con wkhtml.
Saludos
Tim
fuente
Geomajas tiene un complemento de impresión que puede convertir su mapa a PDF y también un complemento de informes (en progreso) que se puede usar para crear un informe usando JasperReports que puede incluir la imagen del mapa. Ambos son AGPL, pero se puede solicitar una licencia amigable para los negocios (proporcionada por Geosparc ).
fuente
Bueno, usamos PDFBox (licencia de Apache) del código del lado del servidor Java.
Construimos solicitudes WMS para las diversas capas, obtenemos imágenes como mapas de bits en memoria y las superponemos en un único mapa de bits en memoria. Uso de Java
BufferedImage
para los mapas de bits en memoria. Luego, renderizamos el mapa de bits en la página PDF usando PDFBox PDJpeg .Funciona bastante bien Un inconveniente es que las imágenes del mapa pueden volverse un poco borrosas en el PDF, ya que debe codificarlas como JPEG para usarlas con PDFBox, con la inevitable compresión con pérdida. Puede mejorar esto configurando la calidad JPEG al máximo en el constructor PDFJpeg y solicitando las imágenes a gran tamaño (por ejemplo, 300 ppp).
Eventualmente planeamos lanzar nuestro código como código abierto. Publicaré un enlace cuando esto suceda.
Gracias de nuevo a Will, Allan y todos!
fuente