Untitled
unknown
plain_text
8 months ago
2.0 kB
5
Indexable
function generatePDF() {
const calendar = document.getElementById("calendar");
const month = parseInt(monthSelect.value);
const year = parseInt(yearSelect.value);
const monthName = months[month];
const now = new Date();
const dateTimeString = now.toLocaleString();
const summary = calculateSummary(); // Calcola il riepilogo
const DFoXdoc = new jspdf.jsPDF();
DFoXdoc.setFontSize(16);
DFoXdoc.text(`Ditta ${aziendaName}`, 10, 10);
DFoXdoc.text(`Calendario presenze per elaborazione buste paga di ${monthName} / ${year}`, 10, 20);
//var finalY = DFoXdoc.lastAutoTable.finalY || 10
autoTable(DFoXdoc, { startY: 30, html: '#calendar' })
let y = DFoXdoc.lastAutoTable.finalY || 10
y+= 10;
DFoXdoc.setFontSize(12);
DFoXdoc.text("Legenda:", 10, y);
y += 5;
DFoXdoc.setFontSize(10);
DFoXdoc.text(" L: Lavorati, AI: Assenza ingiustificata, F: Ferie, M: Malattia, P: Permessi, R1: Cong.parentali, Permessi 104", 10, y);
y += 8;
DFoXdoc.setFontSize(12);
DFoXdoc.text("Riepilogo:", 10, y);
y += 2;
DFoXdoc.setFontSize(10);
employees.forEach(employee => {
y += 5;
DFoXdoc.text(`${employee}: L: ${summary[employee].L}, AI: ${summary[employee].AI}, F: ${summary[employee].F}, M: ${summary[employee].M}, P: ${summary[employee].P}, R1: ${summary[employee].R1}`, 10, y);
});
const pageHeight = DFoXdoc.internal.pageSize.getHeight();
const pageWidth = DFoXdoc.internal.pageSize.getWidth(); // Ottieni la larghezza della pagina
DFoXdoc.setFontSize(10);
const text = `Generato il: ${dateTimeString}`;
const textWidth = DFoXdoc.getTextWidth(text); // Calcola la larghezza del testo
// Posiziona il testo in basso a destra
DFoXdoc.text(text, pageWidth - textWidth - 10, y + 10)
DFoXdoc.save(`Presenze_${monthName}${year}.pdf`);
}Editor is loading...
Leave a Comment