# DocumentPdf
declaration: package: lecteur_pdf.pdf, class: DocumentPdf

Package lecteur_pdf.pdf

# Class DocumentPdf

java.lang.Object
lecteur_pdf.pdf.DocumentPdf

public class DocumentPdf extends Object
Classe qui représente un document PDF ouvert, elle permet de créer des images des pages

Author:
  Léo Franch, Tristan Nogaret, Lucàs Vabre, Noé Villeneuve
See Also:
  - `PDDocument`
  - `PDFRenderer`
  - `BufferedImage`

## Field Summary

Fields
Modifier and Type
Field
Description
`private int`
`defaultHeight`
La longueur par défaut de la page courante
`private int`
`defaultWidth`
La largeur par défaut de la page courante
`private final org.apache.pdfbox.pdmodel.PDDocument`
`document`
Le `document PDF` chargé avec PdfBox
`private org.apache.pdfbox.rendering.PDFRenderer`
`renderer`
L'outil de `rendus` de PdfBox

## Constructor Summary

Constructors
Constructor
Description
`DocumentPdf(File file)`
Charge un nouveau `document PDF`

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Ferme le document courant et redéfini les paramètres par défaut
`int`
`getDefaultHeight()`
`int`
`getDefaultWidth()`
`int`
`getNbPages()`
`BufferedImage`
`renderPage(int pageIndex, float scale)`
Créé une `image` de la page voulue

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### document

private final org.apache.pdfbox.pdmodel.PDDocument document
Le `document PDF` chargé avec PdfBox

### renderer

private org.apache.pdfbox.rendering.PDFRenderer renderer
L'outil de `rendus` de PdfBox

### defaultWidth

private int defaultWidth
La largeur par défaut de la page courante

### defaultHeight

private int defaultHeight
La longueur par défaut de la page courante

## Constructor Details

### DocumentPdf

public DocumentPdf(File file) throws IOException
Charge un nouveau `document PDF`

Parameters:
  `file` - Le fichier PDF à charger
Throws:
  `IOException` - Si le document passé en argument est illisible

## Method Details

### getDefaultWidth

public int getDefaultWidth()

Returns:
  La largeur par défaut de la page courante

### getDefaultHeight

public int getDefaultHeight()

Returns:
  La longueur par défaut de la page courante

### getNbPages

public int getNbPages()

Returns:
  Le nombre de pages du document

### renderPage

public BufferedImage renderPage(int pageIndex, float scale) throws IOException
Créé une `image` de la page voulue

Parameters:
  `pageIndex` - Numéro de la page désirée (compris entre 0 et le nombre maximal de pages)
  `scale` - Taille de la page (La qualité de l'image est amélioré suivant cette valeur)
Returns:
  Une `image` de la page demandée
Throws:
  `IOException` - Si l'image de rendu n'as pas pu être créée
  `IllegalArgumentException` - Si le numero de page est invalide (n'est pas compris entre 0 et le nombre maximal de pages)

### close

public void close()
Ferme le document courant et redéfini les paramètres par défaut