Modifier les marges gauches et droite des feuilles d'émargement.
Répétition de l'entête de la tableau sur chaque feuille imprimée.
This commit is contained in:
parent
e0ba437987
commit
2fca54cd47
@ -2,9 +2,12 @@ package baseUFRHG;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.print.PageFormat;
|
||||
import java.awt.print.PrinterJob;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.print.attribute.standard.PageRanges;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
@ -21,11 +24,14 @@ import org.apache.poi.ss.usermodel.FillPatternType;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||
import org.apache.poi.ss.usermodel.PrintSetup;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.VerticalAlignment;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageMargins;
|
||||
|
||||
public class createEmargement extends JFrame{
|
||||
|
||||
@ -209,7 +215,7 @@ public class createEmargement extends JFrame{
|
||||
|
||||
|
||||
//Définir la largeur de la colonne B (2 cm)
|
||||
int widthInCharsB = (int) (1.8 * 256 / 0.146);
|
||||
int widthInCharsB = (int) (1.9 * 256 / 0.146);
|
||||
sheet.setColumnWidth(1, widthInCharsB);
|
||||
|
||||
sheet.autoSizeColumn(0);
|
||||
@ -222,7 +228,7 @@ public class createEmargement extends JFrame{
|
||||
// sheet.setColumnWidth(4, widthInCharsE);
|
||||
|
||||
// Estimer la largeur de la feuille A4 en unités de 1/256ème de caractère
|
||||
int a4WidthUnits = 22000 ; //(17 * 256)/0.146; // Largeur de la feuille A4 en unités de 1/256ème de caractère
|
||||
int a4WidthUnits = 26000 ; //(17 * 256)/0.146; // Largeur de la feuille A4 en unités de 1/256ème de caractère
|
||||
// int a4WidthUnits = 16250;
|
||||
// Obtenir la largeur totale des colonnes A à D en unités de 1/256ème de caractère
|
||||
int widthOfColumnsAtoD = 0;
|
||||
@ -240,8 +246,38 @@ public class createEmargement extends JFrame{
|
||||
sheet.getHeader().setCenter("Emargement : " + nameFile);
|
||||
|
||||
// Définir le pied de page
|
||||
sheet.getFooter().setCenter("Page " + HeaderFooter.page());
|
||||
|
||||
sheet.getFooter().setCenter("Page " + HeaderFooter.page() );
|
||||
|
||||
|
||||
// Obtenir l'objet CTPageMargins associé à la feuille
|
||||
CTPageMargins pageMargins = ((org.apache.poi.xssf.usermodel.XSSFSheet) sheet).getCTWorksheet().getPageMargins();
|
||||
|
||||
// Définir les marges gauche et droite en pouces
|
||||
double leftMarginInches = 0.2; // des pouces
|
||||
double rightMarginInches = 0.2; // des pouces
|
||||
|
||||
// Conversion des pouces en unités de l'échelle de l'imprimante
|
||||
double leftMarginUnits = leftMarginInches ; // 1 pouce = 2.54 cm, 1 cm = 10000 unités
|
||||
double rightMarginUnits = rightMarginInches ;
|
||||
|
||||
// Définir les marges gauche et droite
|
||||
pageMargins.setLeft(leftMarginUnits);
|
||||
pageMargins.setRight(rightMarginUnits);
|
||||
|
||||
|
||||
Row headerRow = sheet.getRow(4); // Récupérer la ligne d'entête (ligne 5)
|
||||
Cell[] headerCells = new Cell[headerRow.getLastCellNum()]; // Tableau pour stocker les cellules de l'entête
|
||||
|
||||
for (int j = 0; j < headerRow.getLastCellNum(); j++) {
|
||||
headerCells[j] = headerRow.getCell(j); // Récupérer chaque cellule de l'entête
|
||||
}
|
||||
|
||||
// Définir l'impression de la feuille avec répétition de la ligne d'entête sur chaque page
|
||||
PrintSetup printSetup = sheet.getPrintSetup();
|
||||
printSetup.setFitWidth((short) 1);
|
||||
printSetup.setFitHeight((short) 0);
|
||||
sheet.setRepeatingRows(CellRangeAddress.valueOf("5:5")); // Répéter la ligne d'entête sur chaque page
|
||||
|
||||
}
|
||||
|
||||
// Enregistrer le classeur dans un fichier
|
||||
@ -255,8 +291,8 @@ public class createEmargement extends JFrame{
|
||||
|
||||
}catch (IOException e) {
|
||||
System.out.println(e.toString());
|
||||
// e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la class CreateCalcWorkbook", JOptionPane.ERROR_MESSAGE);
|
||||
JOptionPane.showMessageDialog(null, "<html>Erreur dans la class CreateCalcWorkbook.<br>"
|
||||
+ "Avez-vous fermé le classeur : "+ nameFile +" ?<br><br>" +e.toString() + "</html>", "Erreur dans la class CreateCalcWorkbook.", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user