Saya ingin membuat PDF dari WMS di aplikasi peta web.
Adakah yang bisa merekomendasikan komponen yang kuat? Saya ingin open-source gratis di bawah lisensi yang relatif ramah bisnis (tidak ada GPL, BSD / MIT dll. Akan ideal, LGPL akan baik-baik saja).
- Lapisan WMS kami diproduksi oleh ncWMS dan UNM MapServer . Kami juga ingin overlay beberapa lapisan dari penyedia WMS eksternal.
- EDIT : Kami sedang mengembangkan klien JavaScript kami sendiri berdasarkan OpenLayers.
- EDIT : Kami memiliki beberapa kode backend di Jawa. Kami juga akan mempertimbangkan PHP atau platform lain untuk membuat PDF.
MapFish akan sangat baik tetapi GPL.
open-source-gis
wms
pdf
MarkJ
sumber
sumber
Jawaban:
Saya menggunakan Kairo dan Pango (keduanya LGPL) bersama untuk membuat peta PDF.
Ini adalah solusi tingkat rendah, tetapi Kairo memiliki gambar vektor yang luar biasa dan kemampuan penanganan raster, sementara Pango sangat baik dalam pengaturan huruf. Hasil keseluruhannya bagus, tetapi memang membutuhkan banyak pengkodean. Misalnya jika saya ingin membuat peta menggunakan output WMS saya membuat permintaan WMS, meminta gambar dan menggambarnya ke kanvas PDF menggunakan Kairo.
Saya menggunakan pustaka-pustaka ini melalui Java-Gnome tetapi ada binding untuk keduanya dalam kebanyakan bahasa.
sumber
Bagaimana dengan menggunakan http://code.google.com/p/wkhtmltopdf/ ? Ini adalah lgpl dan memungkinkan Anda untuk hanya menghasilkan pdf dari templat halaman web. Kami menggunakan pendekatan ini bersama dengan Django untuk menghasilkan html secara dinamis sebelum mengubahnya menjadi pdf dengan wkhtml.
Salam
Tim
sumber
Geomajas memiliki plug-in pencetakan yang dapat mengkonversi peta Anda ke PDF dan juga plug-in pelaporan (sedang berlangsung) yang dapat digunakan untuk membuat laporan menggunakan JasperReports yang dapat menyertakan gambar peta. Keduanya AGPL tetapi lisensi ramah bisnis dapat diminta (disediakan oleh Geosparc ).
sumber
Yah, kami menggunakan PDFBox (lisensi Apache) dari kode sisi server Java.
Kami membangun permintaan WMS untuk berbagai lapisan, mendapatkan gambar sebagai bitmap dalam memori, dan menatanya menjadi satu bitmap dalam memori tunggal. Menggunakan Java
BufferedImage
untuk bitmap dalam memori. Lalu kami render bitmap ke halaman PDF menggunakan PDFBox PDJpeg .Ini bekerja dengan cukup baik. Satu kesalahan adalah bahwa gambar peta bisa menjadi sedikit buram dalam PDF, karena Anda harus menyandikannya sebagai JPEG untuk menggunakannya dengan PDFBox, dengan kompresi lossy yang tak terhindarkan. Anda dapat memperbaiki ini dengan mengatur kualitas JPEG ke maksimum di konstruktor PDFJpeg, dan dengan meminta gambar pada ukuran besar (misalnya 300 dpi).
Akhirnya kami berencana untuk merilis kode kami sebagai sumber terbuka. Saya akan memposting tautan ketika ini terjadi.
Sekali lagi terima kasih kepada Will, Allan dan semua orang!
sumber