{"id":19941767,"url":"https://github.com/pentaho/pentaho-reporting","last_synced_at":"2025-05-15T04:05:06.129Z","repository":{"id":6273368,"uuid":"7506968","full_name":"pentaho/pentaho-reporting","owner":"pentaho","description":"Java class library for generating reports.","archived":false,"fork":false,"pushed_at":"2025-05-05T14:25:07.000Z","size":117775,"stargazers_count":296,"open_issues_count":15,"forks_count":368,"subscribers_count":91,"default_branch":"master","last_synced_at":"2025-05-05T15:46:43.287Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pentaho.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.TXT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-01-08T18:41:44.000Z","updated_at":"2025-05-05T06:54:19.000Z","dependencies_parsed_at":"2024-06-07T17:46:58.030Z","dependency_job_id":"d193ec64-99ba-44cb-968c-5ac57fc7edca","html_url":"https://github.com/pentaho/pentaho-reporting","commit_stats":{"total_commits":2555,"total_committers":176,"mean_commits":"14.517045454545455","dds":0.6532289628180039,"last_synced_commit":"74af0d14359b796bb2076a4b11f7777730be4872"},"previous_names":[],"tags_count":2071,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentaho%2Fpentaho-reporting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentaho%2Fpentaho-reporting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentaho%2Fpentaho-reporting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentaho%2Fpentaho-reporting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pentaho","download_url":"https://codeload.github.com/pentaho/pentaho-reporting/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270643,"owners_count":22042859,"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":[],"created_at":"2024-11-13T00:10:14.376Z","updated_at":"2025-05-15T04:05:01.118Z","avatar_url":"https://github.com/pentaho.png","language":"Java","funding_links":[],"categories":["数据科学"],"sub_categories":["语音合成"],"readme":"# Pentaho Reporting #\n\nPentaho Reporting is Java class library for generating reports. It provides\nflexible reporting and printing functionality using data from multiple sources\nand supports output to display devices, printers, PDF, Excel, XHTML,\nPlainText, XML and CSV files.\n\nThe Pentaho Report Designer provides a graphical editor for report definitions\nand can also be used as standalone desktop reporting tool.\n\nThe library is optimized for performance and a small memory footprint and\ncan run completely in memory without generating temporary files or requiring\nextra compilation steps. Pentaho Reporting gives the user a great degree of\nflexibility while designing reports.\n\nThis software is free and opensource software available under the\nterms of the GNU Lesser General Public License (LGPL) Version 2.1.\n\nFor an up to date list of changes in the releases of Pentaho Reporting,\nplease visit the JIRA system at http://jira.pentaho.com/browse/PRD\nThere you will find all releases along with the issues fixed for each\nrelease.\n\n\n\n#### Pre-requisites for building the project:\n* Maven, version 3+\n* Java JDK 11\n* This [settings.xml](https://github.com/pentaho/maven-parent-poms/blob/master/maven-support-files/settings.xml) in your \u003cuser-home\u003e/.m2 directory\n\n#### Building it\n\n__Build for nightly/release__\n\nAll required profiles for the \"with-osgi\" or standard build are activated by the presence of a property named \"release\".\n\n```\n$ mvn clean install -Drelease\n```\n\nThis will build, unit test, and package the whole project (all of the sub-modules). The artifact will be generated in: ```assemblies/prd-ce/target```\n\n__Build witn no-osgi__\n\nAll required profiles for the smaller \"no-osgi\" build are activated by the presence of two properties named \"no-osgi\" and \"release\".\n\n```\n$ mvn clean install -Dno-osgi -Drelease\n```\n\nThis will build, unit test, and package the whole project (all of the sub-modules). The artifact will be generated in: ```assemblies/prd-ce/target```\n\n\n__Build for CI/dev__\n\nThe `release` builds will compile the source for production (meaning potential obfuscation and/or uglification). To build without that happening, just eliminate the `release` property.\n\n```\n$ mvn clean install\n```\n\n#### Running the tests\n\n__Unit tests__\n\nThis will run all unit tests in the project (and sub-modules). To run integration tests as well, see Integration Tests below.\n```\n$ mvn test\n```\n\nIf you want to remote debug a single java unit test (default port is 5005):\n```\n$ cd core\n$ mvn test -Dtest=\u003c\u003cYourTest\u003e\u003e -Dmaven.surefire.debug\n```\n\n__Integration tests__\nIn addition to the unit tests, there are integration tests in the core project.\n```\n$ mvn verify -DrunITs\n```\nTo run a single integration test:\n```\n$ mvn verify -DrunITs -Dit.test=\u003c\u003cYourIT\u003e\u003e\n```\n\nTo run a single integration test in debug mode (for remote debugging in an IDE) on the default port of 5005:\n```\n$ mvn verify -DrunITs -Dit.test=\u003c\u003cYourIT\u003e\u003e -Dmaven.failsafe.debug\n```\n\n__Performance and \"Golden\" tests__\n\nIf you feel paranoid you can also run performance tests.\nExpect to wait an hour while all tests run.\n\n```\n$ mvn test -Dtest.long=true -Dtest.performance=true\n```\n\nIf you get OutOfMemoryErrors pointing to a JUnitTask, or if you get OutOfMemory\n“PermGen Space” errors, increase the memory of your Ant process to 1024m by\nsetting the MAVEN\\_OPTS environment variable:\n\n```\n$ export MAVEN_OPTS=\"-Xmx1024m\"\n```\n\n__IntelliJ__\n\n* Don't use IntelliJ's built-in maven. Make it use the same one you use from the commandline.\n  * Project Preferences -\u003e Build, Execution, Deployment -\u003e Build Tools -\u003e Maven ==\u003e Maven home directory\n\n\n#### Available Distributions\n\n\nPentaho Reporting is a modular system and depending on the feature set you\nuse, you may need a different set of applications or libraries.\n\n\n##### Web-Based Reporting\n\nIf you intend to make reports available over the internet, we recommend to\nuse the Pentaho BI-Server/BI-Platform to host your reports. The Pentaho\nBI-Platform is a J2EE-Web-Application that provides all services to run and\nmanage reports in a Web-2.0 environment.\n\n\n##### Standalone Reporting\n\nThe Pentaho Report-Designer can be used as a desktop reporting environment.\nThe designer allows you to create and run reports manually and to create all\nsupported document types (PDF, HTML, Text, RTF, Excel and CSV-files).\n\n\n##### Embedded Reporting\n\nThe Pentaho Reporting Engine consists of a set of base libraries, the\nreporting engine core and several extension modules, which provide\nadditional datasources as well as charting and barcode capabilities.\n\nThe Pentaho Reporting Engine ships with a Swing Print Preview dialog, which\ncan be easily embedded into an existing Java/Swing application. The dialog\noffers access to all supported export file formats.\n\nWe created a SDK with four simple code examples and documents that walk you\nthrough the code to get you started more easily.\n\n\n#### System Requirements\n\n\nPentaho Reporting requires a minimum of 192MB of allocated heap-space to\nprocess reports. Reports with more than 400 pages or about 50.000 rows of data\nmay require additional memory and/or adjustments to the global configuration\nparameters of the reporting engine.\n\nThe Pentaho Reporting Engine requires Java 11 or higher. The Pentaho Report\nDesigner and Pentaho Report Design Wizard also need at least Java 11 or higher.\n\n##### Warning:\n  \n  ```\n  Pentaho Reporting requires a Java Runtime environment that is fully\n  compatible to the Java Platform Specification 8.0 (JSR-337). It will\n  not run with the GNU GCJ suite of tools.\n  ```\n\n\n#### Installation\n\n\nA. Windows\n\n   Download the ZIP distribution.\n\n   The Pentaho Report Designer can be extracted into any directory. We\n   recommend that you place the report-designer into\n   \"C:\\Program Files\\report-designer\" (or an equivalent) directory.\n\n   Start the application by executing (or double-clicking) either the\n   \"report-designer.bat\" file or the launcher.jar file.\n\nB. Linux/Solaris/Unix\n\n   Download either the ZIP or the TAR.GZ distribution.\n\n   The Pentaho Report Designer can be extracted into any directory. We\n   recommend that you place the report-designer into\n   \"/opt/report-designer\" (or an equivalent) directory.\n\n   Start the application by executing either\n\n     cd /opt/report-designer\n     ./report-designer.sh\n\n   or\n\n     java -jar /opt/report-designer/launcher.jar\n\nC. MacOS\n\n   Download either the ZIP or the TAR.GZ distribution.\n\n   The Pentaho Report Designer can be extracted into any directory.\n\n   Start the application by double clicking on the \n\n\t report-designer.command file\n\t\n   or\n   \n   \t executing './report-designer.sh' in a terminal window\n\n#### Documentation\n\n\nThe Javadoc HTML pages for the latest release of Pentaho Reporting are\navailable at\n\n  http://javadoc.pentaho.com/reporting/\n\n\nYou can also regenerate the Javadocs directly from the source code. There is\na task \"javadoc\" in the Ant script (see below) that makes this relatively\nsimple.\n\nThe reporting engine and thus most of the features of the report designer are\nwell documented in Will Gorman's excellent book \"Pentaho Reporting 3.5 for\nJava Developers\".\n\n  https://www.packtpub.com/pentaho-reporting-3-5-for-java-developers/book\n\nTechnical articles and general documentation can be found in our Wiki.\n\n  https://pentaho-community.atlassian.net/wiki/display/Reporting/\n\nIf you intend to embed Pentaho Reporting in your own applications, the SDK\ncontains a thorough step-by-step guide to the enclosed examples.\n\n\n#### Code organization\n\n\nOur code is split into three groups of modules.\n\n* “/libraries” contains all shared libraries and code that provides\ninfrastructure that is not necessarily reporting related.\n* “/engine” contains the runtime code for Pentaho Reporting. If you want to\nembed our reporting engine into your own Swing application or whether you want\nto deploy it as part of a J2EE application, this contains all your ever need.\n* “/designer” contains our design-time tools, like the report-designer and the\nreport-design-wizard. It also contains all data source UIs that are used in\nboth the Report Designer and Pentaho Report Wizard.\n\nAt Pentaho we use Scrum as our development process. We end up working on a set\nof features for about 3 weeks, called a Sprint. All work for that Sprint goes\ninto a feature branch (sprint\\_XXX-4.0.0GA) and gets merged with the master at\nthe end of the sprint.\n\nIf you want to keep an eye on our work while we are sprinting, check out the\nsprint branches. If you prefer is more stable, and are happy with updates every\nthree weeks, stick to the master-branch.\n  \n\n#### Reporting Bugs\n\n\nFree support is available via the Pentaho Reporting forum.\n\n  https://community.hitachivantara.com/s/topic/0TO1J0000017kVRWAY/reporting-analytics/\n\nPlease note that questions are answered by volunteers, so there is no\nguaranteed response time or level of service.\n\nPlease avoid e-mailing the developers directly for support questions. If you\npost a message in the forum, then everyone can see the question, and everyone\ncan see the answer.\n\nIf you found a bug, please either discuss it in the forum or report it in our\nJIRA system. You will need to create a JIRA login before reporting the bug.\nAccess to our JIRA system is free for everyone.\n\n  http://jira.pentaho.com/\n\n\n#### Commercial Support\n\nPentaho offers commercial support for Pentaho Reporting with guaranteed\nresponse times. Please see\n\n  http://www.pentaho.com/products/reporting/\n\nfor more details.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpentaho%2Fpentaho-reporting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpentaho%2Fpentaho-reporting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpentaho%2Fpentaho-reporting/lists"}