Quero criar um PDF a partir do WMS em um aplicativo de mapa da web.
Alguém pode recomendar um componente robusto? Eu gostaria de código-fonte aberto gratuito sob uma licença relativamente favorável aos negócios (sem GPL, BSD / MIT etc., seria ideal, LGPL seria bom).
- Nossas camadas WMS são produzidas pelo ncWMS e UNM MapServer . Também queremos sobrepor algumas camadas de provedores WMS externos.
- EDIT : Estamos desenvolvendo nosso próprio cliente JavaScript baseado em OpenLayers.
- Edição : Temos algum código de back-end em Java. Também consideraríamos PHP ou outras plataformas para criar o PDF.
O MapFish seria excelente, mas é GPL.
open-source-gis
wms
pdf
MarkJ
fonte
fonte
Respostas:
Eu uso o Cairo e o Pango (ambos LGPL) juntos para criar mapas em PDF.
É uma solução de baixo nível, mas o Cairo possui excelentes recursos de desenho vetorial e manipulação de varredura, enquanto o Pango é excelente em tipografia. Os resultados gerais são ótimos, mas exigem muita codificação. Por exemplo, se eu quiser criar um mapa usando uma saída WMS, construo uma solicitação WMS, solicite a imagem e desenhe-a em uma tela PDF usando o Cairo.
Eu uso essas bibliotecas via Java-Gnome, mas existem ligações para ambos na maioria dos idiomas.
fonte
Que tal usar http://code.google.com/p/wkhtmltopdf/ ? É lgpl e permite que você gere simplesmente um pdf a partir de um modelo de página da web. Usamos essa abordagem em conjunto com o django para gerar dinamicamente o html antes de renderizá-lo em pdf com wkhtml.
Saudações
Tim
fonte
O Geomajas possui um plug-in de impressão que pode converter seu mapa em PDF e também um plug-in de relatório (em andamento) que pode ser usado para criar um relatório usando o JasperReports, que pode incluir a imagem do mapa. Ambos são AGPL, mas uma licença para negócios pode ser solicitada (fornecida pela Geosparc ).
fonte
Bem, usamos o PDFBox (licença Apache) do código do servidor Java.
Construímos solicitações WMS para as várias camadas, obtemos imagens como bitmaps na memória e as sobrepomos em um único bitmap na memória. Usando Java
BufferedImage
para os bitmaps na memória. Em seguida, renderizamos o bitmap na página PDF usando o PDFBox PDJpeg .Funciona muito bem. Um detalhe é que as imagens do mapa podem ficar um pouco embaçadas no PDF, já que você precisa codificá-las como JPEG para poder usá-las com o PDFBox, com a inevitável compactação com perdas. Você pode melhorar isso definindo a qualidade JPEG ao máximo no construtor PDFJpeg e solicitando as imagens em um tamanho grande (por exemplo, 300 dpi).
Eventualmente, planejamos liberar nosso código como código aberto. Vou postar um link quando isso acontecer.
Mais uma vez obrigado a Will, Allan e todos!
fonte