{"id":22281394,"url":"https://github.com/mapfish/mapfish-print","last_synced_at":"2025-05-13T23:10:17.747Z","repository":{"id":1813528,"uuid":"2737689","full_name":"mapfish/mapfish-print","owner":"mapfish","description":"A component of MapFish for printing templated cartographic maps. This module is the Java serverside module.","archived":false,"fork":false,"pushed_at":"2025-04-09T14:16:53.000Z","size":257601,"stargazers_count":186,"open_issues_count":199,"forks_count":415,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-09T15:30:02.754Z","etag":null,"topics":["geomapfish","geospatial","geotools","gis","jasperreports","java","maps","ogc","reporting"],"latest_commit_sha":null,"homepage":"http://mapfish.github.io/mapfish-print-doc/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hashicorp/vault-rails","license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mapfish.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-11-08T22:24:04.000Z","updated_at":"2025-04-04T15:40:18.000Z","dependencies_parsed_at":"2023-10-20T21:37:27.111Z","dependency_job_id":"892237d0-0714-4f46-935d-70039caa25f1","html_url":"https://github.com/mapfish/mapfish-print","commit_stats":{"total_commits":3132,"total_committers":61,"mean_commits":51.34426229508197,"dds":0.7959770114942528,"last_synced_commit":"e472ed61732611b2e33f9633ed5e483c1e22fff0"},"previous_names":[],"tags_count":145,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapfish%2Fmapfish-print","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapfish%2Fmapfish-print/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapfish%2Fmapfish-print/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapfish%2Fmapfish-print/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapfish","download_url":"https://codeload.github.com/mapfish/mapfish-print/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166925,"owners_count":21058481,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geomapfish","geospatial","geotools","gis","jasperreports","java","maps","ogc","reporting"],"created_at":"2024-12-03T16:17:44.885Z","updated_at":"2025-04-10T06:13:52.572Z","avatar_url":"https://github.com/mapfish.png","language":"Java","readme":"Please read the documentation available here: \u003chttps://mapfish.github.io/mapfish-print/\u003e\n\n[Camptocamp](https://www.camptocamp.com) is providing professional assistance services, open source software maintenance and new feature development for MapFish Print. Please reach us if you have any inquiry, we'd be glad to help. Every income helps float this project.\n\n# Prerequisites\n\nBuilding mapfish-print requires make and Docker.\n\n# Build\n\nExecute the following command():\n\n```{.sourceCode .}\n\u003e make build\n```\n\nThis will build three artifacts: `print-servlet-xxx.war`, `print-lib.jar`, `print-standalone.jar`.\n\nThe build also builds the documentation in the docs/build/site folder. To deploy the documentation it should\nsimply be copied to the `gh-pages` branch and then committed. GitHub will automatically build the updated site\nat: \u003chttps://mapfish.github.io/mapfish-print/\u003e\n\nIf you only want to build the docs, simply run:\n\n```{.sourceCode .}\n\u003e ./gradlew docs:build\n```\n\nor run build in the docs directory.\n\n\u003cdiv class=\"admonition note\"\u003e\n\nThe test (part of the build) requires the 'Liberation Sans' font, which can be downloaded\n[here](https://www.fontsquirrel.com/fonts/Liberation-Sans).\n\n\u003c/div\u003e\n\n# Debug mode\n\nTo be able to quickly test modifications in the print you should:\n\n- Copy the file `docker-compose.override.sample.yaml` to `docker-compose.override.yaml`.\n- Run `docker compose up -d`,\n  The print will be available on port `8080` and on code modification will be built and trigger a restart.\n\nWith that you will have a running print, when you modify the code the print will be rebuilt and restarted,\nand the debugging port will be opened on `5005`.\n\n# Create new stabilization branch\n\n- Update `CHANGELOG.md`\n- Create a new branch name `x.y` from master.\n- Create a new label names `backport x.y` in the right color (GitHub: Issues -\u003e Labels -\u003e New Label).\n- Create a tag `x.y.0`.\n- On the master branch: Update the `SECURITY.md` file, add a policy for the new and old version.\n- On the master branch update the `.github/workflows/rebuild.yaml` file by adding the new branch name.\n- On the master branch update the `.github/workflows/audit.yaml` file by adding the new branch name.\n\n# Run from command line\n\nThe following command will run the MapFish printer. The arguments must be supplied to the `-PprintArgs=\"...\"`\nparameter.\n\nTo list all the command line options then execute (the current directory is `./core`):\n\n```{.sourceCode .}\n\u003e ./gradlew print -PprintArgs=\"-help\"\n```\n\n```{.sourceCode .}\n\u003e ./gradlew print -PprintArgs=\"-config ../examples/src/test/resources/examples/simple/config.yaml -spec ../examples/src/test/resources/examples/simple/requestData.json -output ./output.pdf\"\n```\n\nIf you want to run in debug mode you can do the following:\n\n```{.sourceCode .}\n\u003e ./gradlew print --debug-jvm -PprintArgs=\"-config ../examples/src/test/resources/examples/simple/config.yaml -spec ../examples/src/test/resources/examples/simple/requestData.json -output ./output.pdf\"\n```\n\nFor the examples that use GeoServer you should run it in the composition, then build and start the composition:\n\n```bash\nmake build\ncp docker-compose.override.sample.yaml docker-compose.override.yaml\nmake acceptance-tests-up\n```\n\nRun the example:\n\n```bash\ndocker compose exec builder gradle print -PprintArgs=\"-config /src/examples/src/test/resources/examples/simple/config.yaml -spec /src/examples/src/test/resources/examples/simple/requestData.json -output /src/examples/output.pdf\"\n```\n\n# To use in Eclipse\n\nCreate Eclipse project metadata:\n\n```{.sourceCode .}\n\u003e ./gradlew eclipse\n```\n\nImport project into Eclipse\n\n# Run in Eclipse\n\n- Create new Java Run Configuration\n- Main class is `org.mapfish.print.cli.Main`\n- Program arguments: `-config samples/config.yaml -spec samples/spec.json -output \\$HOME/print.pdf`\n\n# Contributor License Agreement\n\nBefore accepting a contribution, we ask that you provide us a Contributor License Agreement. If you are making\nyour contribution as part of work for your employer, please follow the guidelines on submitting a [Corporate\nContributor License Agreement](https://github.com/mapfish/mapfish-print/wiki/C2C_Corporate-CLA_v1-0.pdf). If\nyou are making your contribution as an individual, you can submit a digital [Individual Contributor License\nAgreement](http://goo.gl/forms/QO9UELxM9m).\n\n# Credits\n\n![image](https://www.yourkit.com/images/yklogo.png)\n\n\u003e target\n\u003e\n\u003e : \u003chttps://www.yourkit.com/java/profiler/index.jsp\u003e\n\u003e\n\u003e Thanks to [YourKit](https://www.yourkit.com/java/profiler/index.jsp) for letting us use their Java profiler!\n\n# Published artifacts\n\n[Docker](https://hub.docker.com/r/camptocamp/mapfish_print)\n\n[War and jar](https://github.com/orgs/mapfish/packages)\n\n[From JitPack repository](https://jitpack.io/#mapfish/mapfish-print)\n\n[Releases, including various assets](https://github.com/mapfish/mapfish-print/releases)\n\n## Contributing\n\nInstall then activate pre-commit hooks in your repository:\n(The 'pre-commit install' must be run once per repository)\n\n```bash\nsudo apt install pre-commit\npre-commit install --allow-missing-config\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapfish%2Fmapfish-print","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapfish%2Fmapfish-print","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapfish%2Fmapfish-print/lists"}