ClementGre / PDF4Teachers

PDF editing software for teachers, focused on productivity. PDF4Teachers keeps recorded previous annotations, and offers features like marking scale, PDF conversion, vectorial drawing...
https://pdf4teachers.org/
Apache License 2.0
146 stars 18 forks source link

Java CI with Gradle TotalDownloads LatestDownloads Commit activity Commit since latest Contributors
Star GitHubFolowers TwitterFolowers

Logo
PDF4Teachers
https://pdf4teachers.org

Presentation | Features | Dependencies | Code organization
PDF editing software in large quantities designed for teachers.

Logo

Shortcuts :                                                                             Before opening new issue, see :

License Release        GitHub labels GitHub labels GitHub labels

Presentation

PDF4Teachers is specifically designed for teachers. It allows you to annotate assessments returned in PDF with excellent productivity.

PDF4Teachers provides tools for editing PDF files productively while annotating/correcting assessments. It memorizes all previously added annotations and offers quick insertion of them. PDF4Teachers also supports the definition of a grade scale (numerical or competency-based grading). Grades can then be exported as a .csv spreadsheet.

PDF4Teachers can also perform batch conversion of images to PDF to convert multiple documents at the same time. A lot of other PDF tools are also available, including booklet assembler/disassembler, PDF merge and split, move and rotate pages, and more.

PDF4Teachers supports freeform drawing, vector SVG path elements, images, LaTeX and LibreOffice Math equations.

PDF4Teachers saves any edits made to a PDF file as a separate layer, so the original PDF remains intact (except for any changes made with PDF tools). You can export the edited document as a new PDF file within the app.

Preview

Preview

Features

Conversion and PDF Tools

Text elements

Numerical grading

Competency-based grading

Vector elements, freeform drawing and images

Interface

Contribute

Translate the app, website or documentation

All translations can be done on Weblate.

Otherwise, you can also translate the app by yourself, by editing the files in the src/main/resources/translations folder.

See pdf4teachers.org/Contribute for more informations.

Contribute to the code

PDF4Teachers has now achieved all the main goals of the project, but is still maintained and improved. If you want to contribute, you will need a lot of time to deep dive into the code (see Code organization), you can then open a pull request.

As detailed in the Dependencies section, PDF4Teachers uses gradlew and the source code can be run with gradlew run with the JDK 21 in your JAVA_HOME environment variable.

See ClementGre/PDF4Teachers-Website for the PDF4Teachers' website repository.

Dependencies

The application was developed with JavaFX framework, in Java SE 21.

Java dependencies

Gradle plugins

The dependencies of the application are managed by Gradle 7 (rc-2), therefore, you can execute ./gradlew run (bash) or gradlew.bat run (batch) in a command prompt to run the application using only the downloaded code, and the Java JDK 21 (should be in the environment variable JAVA_HOME). Gradle is using some plugins to manage dependencies:

Packaging tool

The installer can be build automatically using the custom autoPackage task on any platform.

Fonts for the documentations files

If you have to work on a documentation translation, it is always better to have the right fonts installed to have the correct layout (and if you eventually have to generate the PDF from it). Then you will need these fonts :

Code Organization