Java CI with Gradle TotalDownloads LatestDownloads Star GitHubFolowers TwitterFolowers

Preview

Shortcuts :                                                                                 Before opening new issue, see :

License Release        GitHub labels GitHub labels GitHub labels

PDF4Teachers [EN]

This app is specifically designed for teachers, it allows to annotate assessments returned in PDF with a very good productivity

Since V1.1.0, PDF4Teachers is fully translated in English. Welcome to English speaking teachers !

PDF4Teachers is a free and open-source application.

PDF4Teachers offers tools for a productive edit of PDF files, during the annotation / correction of assessments. Edits are saved separately from PDF files, lists of previous and favorites annotations allow quick insertion of recurrent advices and corrections. Documents are managed as a set. when job is done, all documents can be exported as new PDF files with annotations on it.

PDF4Teachers includes special functionalities for annotation of grades and offers a tool for grading scale (marking scheme). When using numerical grading system, the tool computes the total and sub-totals, and exports the grades of a whole set of corrected documents as a .csv spreadsheet.

A set of pictures can be converted in PDF documents, and pages format can be edited (rotation, position…) through buttons located in the footer of each page.

PDF4Teachers is available for Windows, Linux, OSX. Go to the download section with the release button above.

Teachers speaking other languages than French and English : help us translate PDF4Teachers, check in the language settings on how to do it !

PDF4Teachers [FR]

Cette application est principalement destinée aux professeurs, elle permet d'éditer et plus précisément de corriger des copies PDF.

Elle est basée sur un système d'édition rapide des documents PDF. L'édition peut être sauvée pour reprendre le travail plus tard. Lorsque les éditions sont terminées, le document peut être exporté sous la forme d'un nouveau fichier PDF. Les éditions sont composées de plusieurs éléments : Les commentaires (Texte), les Notes et les formes géométriques (Carrés, ronds, etc.)

Vous pouvez définir un barème pour une série de copies puis entrer les notes dans chaque copie. La somme des notes se calcule automatiquement. Une fois terminé, vous pouvez exporter les notes d'une ou plusieurs copies dans un ou plusieurs tableaux CSV (Tableaux de donnés formatable par des applications tels que LibreOffice Calc ou Excel).

Il est possible de convertir des images en documents PDF et d’éditer les pages des documents (rotation, position...) avec des boutons situés au pied de chaque page.

PDF4Teachers est conforme à la RGPD française : toutes les éditions et fichiers exportés sont stockés en local, les seuls accès réseaux de l'application concernent la vérification des mises à jour.

Prévisualisation de l'interface :

Preview

Les APIs

L'application a été développée sous Java SE 8 (avec Swing) puis elle est passé sous JavaFX avec Java SE 11, Java SE 13 et enfin, Java SE 14.

Vous retrouverez aussi dans l'onglet release des versions compilés avec JLink et JPackager pour votre système d'exploitation.

L'organisation du code (1.2.0)

Les noms de packages commençants par un . représentent des packages de fr.themsou

La classe main se situe dans le package fr.themsou.main

Démmarage de l'application

Au démarrage de l'application, Main va vérifier si une langue est définie, si non, elle va ouvrir la fenêtre de choix de langage (.windows.LanguageWindow). Elle va ensuite ouvir la fenêtre de validation de liscence (.windows.LicenceWindow) si l'application est à son premier démarrage (Détecté avec la présence du fichier settings.yml). Enfin, Main va appeler (.windows.MainWindow) qui va tout initialiser et préparer l'interface principale. (Toutes les classes de fr.themsou.windows étendent de Stage, qui représente une fenêtre dans JavaFx).

Classes des éléments graphiques de JavaFX (fr.themsou.panel)

Chaque classe ou package du package fr.themsou.panel et fr.themsou.panel.leftBar représentent un élément graphique de l'écran, elle étendent indirectement de javafx.scene.Node, (JPanel en Swing).

On y retrouve donc FooterBar (La barre d'état en bas), MenuBar (Le Menu en haut), MainScreen (là où s'affichera le document à éditer) et quelques classes du package LeftBar qui sont les différents Tab du TabPane initialisé dans MainWindow (LBFilesTab, LBTextTab, LBGradeTab, LBPaintTab). Ces classes sont accompagnés d'autres classes dont les xxxTreeView ou xxxListView qui représentent un arbre ou une liste JavaFX. On retrouve aussi les xxxTreeItem ou xxxListItem qui représentent un élément de l'arbre (ou de la liste). Ces classes ont généralement une variable core, qui représente l'élément de .document.editions.elements qui lui correspond.

Classes des éléments (fr.themsou.document.editions.elements)

Ces différents éléments (texte, notes et formes géométriques) ont des classes attribués dans .document.editions.elements qui étendent Element. Element étend de Region (Conteneur JavaFX). Ces différentes classes qui étendent Element contiennent un composant JavaFx, qui sera le "children" de la Region que représente la classe. Element s'occupe de toutes les fonctionnalités communes (coordonnés, interactions...).

Classes pour gérer les documents PDF (fr.themsou.document)

À l'ouverture d'un document, fr.themsou.panel.MainScreen.MainScreen initialisera :

Statistiques :