From e4fb82ca89cb3c76fdff11db8368f44f3ac0ef8b Mon Sep 17 00:00:00 2001 From: LucasV-IUT Date: Wed, 17 Nov 2021 19:03:39 +0100 Subject: [PATCH] =?UTF-8?q?Add=20Pdf.java=20et=20Page.java=20A=20compl?= =?UTF-8?q?=C3=A9ter=20+=20Tests=20unitaires=20avec=20JUnit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lecteur_pdf/document/Page.java | 78 ++++++++++++++++++++++++ src/lecteur_pdf/document/Pdf.java | 56 +++++++++++++++++ tests/lecteur_pdf/document/PageTest.java | 16 +++++ tests/lecteur_pdf/document/PdfTest.java | 16 +++++ 4 files changed, 166 insertions(+) create mode 100644 src/lecteur_pdf/document/Page.java create mode 100644 src/lecteur_pdf/document/Pdf.java create mode 100644 tests/lecteur_pdf/document/PageTest.java create mode 100644 tests/lecteur_pdf/document/PdfTest.java diff --git a/src/lecteur_pdf/document/Page.java b/src/lecteur_pdf/document/Page.java new file mode 100644 index 0000000..6732237 --- /dev/null +++ b/src/lecteur_pdf/document/Page.java @@ -0,0 +1,78 @@ +/* + * Page, 17/11/2021 + * IUT Rodez 2021, INFO2 + * pas de copyright, aucun droits + */ + +package lecteur_pdf.document; + +import org.apache.pdfbox.pdmodel.PDDocument; + +import javax.swing.*; + +/** + * TODO A compléter + * + * @author Lucas + */ +public class Page { + + /** + * TODO A compléter + */ + private int index; + + /** + * TODO A compléter + */ + private JLabel image; + + /** + * TODO A compléter + */ + private int hauteur; + + /** + * TODO A compléter + */ + private int largeur; + + /** + * TODO A compléter + * @param document + * @param index + * @throws IllegalArgumentException + */ + public Page(PDDocument document, int index) throws IllegalArgumentException { + if (!isValid(document, index)) throw new IllegalArgumentException(); + // TODO + } + + /** + * TODO A compléter + * @param document + * @param index + * @return + */ + private boolean isValid(PDDocument document, int index) { + return document != null + && 0 <= index && index < document.getNumberOfPages(); + } + + /** + * TODO A compléter + * @param positionX + * @param positionY + */ + public void setPosition(int positionX, int positionY) { + // TODO + } + + /** + * TODO A compléter + * @return + */ + public JLabel getImage() { + return image; + } +} diff --git a/src/lecteur_pdf/document/Pdf.java b/src/lecteur_pdf/document/Pdf.java new file mode 100644 index 0000000..fe03637 --- /dev/null +++ b/src/lecteur_pdf/document/Pdf.java @@ -0,0 +1,56 @@ +/* + * Pdf, 17/11/2021 + * IUT Rodez 2021, INFO2 + * pas de copyright, aucun droits + */ + +package lecteur_pdf.document; + +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.rendering.PDFRenderer; + +import javax.swing.*; +import java.io.File; +import java.util.ArrayList; + +/** + * Définis virtuellement un fichier PDF + * + * @author Lucas + */ +public class Pdf { + + /** Espacement entre chaque page */ + public static final int OFFSET_PAGES = 10; // px + + /** Document PDF chargé */ + private PDDocument document; + + /** Le nombre de pages du document PDF */ + private int nbPages; + + /** Les pages du PDF sous forme d’images */ + private ArrayList page; + + /** + * Crée un document PDF qui est capable d’être affiché dans une fenêtre + * @param fichier Le fichier PDF que l’on veut ouvrir + * @throws IllegalArgumentException si le fichier n’existe pas + */ + public Pdf(File fichier) { + // TODO + } + + public int getNbPages() { + return nbPages; + } + + /** + * @return un panel scrollable contenant toutes les pages du PDF + */ + public JScrollPane getRenderView() { + // TODO + return null; // Bouchon + } + +} diff --git a/tests/lecteur_pdf/document/PageTest.java b/tests/lecteur_pdf/document/PageTest.java new file mode 100644 index 0000000..fe26cab --- /dev/null +++ b/tests/lecteur_pdf/document/PageTest.java @@ -0,0 +1,16 @@ +package lecteur_pdf.document; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class PageTest { + + @Test + void setPosition() { + } + + @Test + void getImage() { + } +} \ No newline at end of file diff --git a/tests/lecteur_pdf/document/PdfTest.java b/tests/lecteur_pdf/document/PdfTest.java new file mode 100644 index 0000000..a4e7238 --- /dev/null +++ b/tests/lecteur_pdf/document/PdfTest.java @@ -0,0 +1,16 @@ +package lecteur_pdf.document; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class PdfTest { + + @Test + void getNbPages() { + } + + @Test + void getRenderView() { + } +} \ No newline at end of file