Spaces:
Running
Running
Update static/script.js
Browse files- static/script.js +57 -2
static/script.js
CHANGED
@@ -44,8 +44,16 @@ function loadResumerPage() {
|
|
44 |
</div>
|
45 |
<div class="results-container">
|
46 |
<div class="results-placeholder">
|
47 |
-
<p id="documentResult" class="placeholder-text">Le résultat apparaîtra ici...</p>
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
</div>
|
50 |
</div>
|
51 |
</div>
|
@@ -112,6 +120,53 @@ async function uploadDocument() {
|
|
112 |
resultElement.innerText = "Erreur lors de la demande !";
|
113 |
}
|
114 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
|
117 |
|
|
|
44 |
</div>
|
45 |
<div class="results-container">
|
46 |
<div class="results-placeholder">
|
47 |
+
<p id="documentResult" class="placeholder-text" data-summary-text="">Le résultat apparaîtra ici...</p>
|
48 |
+
<div id="downloadSection" style="display: none; margin-top: 20px;">
|
49 |
+
<h3 style="color: white; margin-bottom: 10px;">Télécharger le résumé</h3>
|
50 |
+
<div style="display: flex; gap: 10px;">
|
51 |
+
<button id="downloadPdf" class="download-btn">PDF</button>
|
52 |
+
<button id="downloadWord" class="download-btn">Word</button>
|
53 |
+
<button id="downloadPpt" class="download-btn">PowerPoint</button>
|
54 |
+
<button id="downloadTxt" class="download-btn">Texte</button>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
</div>
|
58 |
</div>
|
59 |
</div>
|
|
|
120 |
resultElement.innerText = "Erreur lors de la demande !";
|
121 |
}
|
122 |
}
|
123 |
+
// Fonctions de téléchargement
|
124 |
+
document.addEventListener("click", (e) => {
|
125 |
+
const text = document.getElementById("documentResult").dataset.summaryText;
|
126 |
+
if (!text) return;
|
127 |
+
|
128 |
+
if (e.target.id === "downloadPdf") {
|
129 |
+
const { jsPDF } = window.jspdf;
|
130 |
+
const doc = new jsPDF();
|
131 |
+
doc.text(text, 10, 10);
|
132 |
+
doc.save('resume.pdf');
|
133 |
+
}
|
134 |
+
|
135 |
+
if (e.target.id === "downloadWord") {
|
136 |
+
const { Document, Paragraph, TextRun, Packer } = window.docx;
|
137 |
+
const doc = new Document({
|
138 |
+
sections: [{
|
139 |
+
children: [new Paragraph({ children: [new TextRun(text)] })]
|
140 |
+
}]
|
141 |
+
});
|
142 |
+
Packer.toBlob(doc).then(blob => {
|
143 |
+
const url = URL.createObjectURL(blob);
|
144 |
+
const a = document.createElement('a');
|
145 |
+
a.href = url;
|
146 |
+
a.download = 'resume.docx';
|
147 |
+
a.click();
|
148 |
+
URL.revokeObjectURL(url);
|
149 |
+
});
|
150 |
+
}
|
151 |
+
|
152 |
+
if (e.target.id === "downloadPpt") {
|
153 |
+
const pptx = new window.PptxGenJS();
|
154 |
+
const slide = pptx.addSlide();
|
155 |
+
slide.addText(text, { x: 1, y: 1, w: 8, h: 4 });
|
156 |
+
pptx.writeFile({ fileName: 'resume.pptx' });
|
157 |
+
}
|
158 |
+
|
159 |
+
if (e.target.id === "downloadTxt") {
|
160 |
+
const blob = new Blob([text], { type: 'text/plain' });
|
161 |
+
const url = URL.createObjectURL(blob);
|
162 |
+
const a = document.createElement('a');
|
163 |
+
a.href = url;
|
164 |
+
a.download = 'resume.txt';
|
165 |
+
a.click();
|
166 |
+
URL.revokeObjectURL(url);
|
167 |
+
}
|
168 |
+
});
|
169 |
+
}
|
170 |
|
171 |
|
172 |
|