To contribute code to the OpenPDF project, your GitHub account must contain your real name, so that we can verify your identity. This is to ensure the trust, security and integrity of the OpenPDF project, and to prevent security incidents such as the "XZ Utils backdoor". Knowning the real name of the contributors will also identify and prevent conflict of interests.
- Create a GitHub account
- Fork the project on GitHub
- Make any improvements you want in your fork (in any branch)
- Create a pull request
- Clone the repository (or your fork)
- Run
mvn clean install
in the root directory
OpenPDF version | Java version |
---|---|
1.3 | 8 |
1.4 | 11 |
2.0 (master) | 17 |
- We use the Google Java Style Guide with
some exceptions
- Indentation: 4 spaces
- Continuation indent: 8 spaces
- Line length: 120 characters
- Make sure to add tests for your changes
- Fix any checkstyle issues before submitting your pull request (
mvn checkstyle:check
) - Fix any issues found by the CI build after submitting your pull request
- Configure the formatter (configuration files are in the
config
directory) or - Use the editorconfig plugin for your IDE
- Use checkstyle plugin for your IDE (configuration is
checkstyle.xml
), or runmvn checkstyle:check
- Use sonarlint plugin for your IDE
- Codacy: https://app.codacy.com/gh/LibrePDF/OpenPDF/dashboard
- CodeFactor: https://www.codefactor.io/repository/github/librepdf/openpdf
- CodeQL: https://github.com/LibrePDF/OpenPDF/actions/workflows/codeql.yml
- SonarCloud: https://sonarcloud.io/dashboard?id=LibrePDF_OpenPDF
- Feel free to add content to the Wiki
- Also participate in the Discussions, answering and asking questions
- You may also contribute with translations in
src/main/java/com/lowagie/text/error_messages
- Or add some examples in the module
pdf-toolbox
- Our Migration Guide need some love, so feel free to contribute. Please describe there the minor changes you had to do to migrate from iText to OpenPDF.
- Please be as detailed as possible, including the version of OpenPDF you are using, the Java version, and the operating system
- If possible, provide a minimal code example that reproduces the problem
- Describe the expected behavior and the actual behavior
- Describe how to reproduce the bug
We are looking for maintainers to help us with the project. We need help in:
- Reviewing and accepting pull requests
- Answering questions in the discussions or issues
- Triaging issues which are important to fix
Interested in making OpenPDF better? Please contact @asturio (Claudio Clemens).
Further interesting article: How to Contribute to Open Source