Spaces:
Running
Running
Update static/script.js
Browse files- static/script.js +66 -1
static/script.js
CHANGED
|
@@ -44,7 +44,7 @@ function loadResumerPage() {
|
|
| 44 |
</div>
|
| 45 |
<div class="results-container">
|
| 46 |
<div class="results-placeholder">
|
| 47 |
-
<
|
| 48 |
<div id="downloadSection" style="display: none; margin-top: 20px;">
|
| 49 |
<h3 style="color: white; margin-bottom: 10px;">Télécharger la traduction</h3>
|
| 50 |
<div style="display: flex; gap: 10px;">
|
|
@@ -156,6 +156,71 @@ fileInput.addEventListener('change', function(event) {
|
|
| 156 |
}
|
| 157 |
});
|
| 158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
|
| 160 |
}
|
| 161 |
|
|
|
|
| 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 |
<div id="downloadSection" style="display: none; margin-top: 20px;">
|
| 49 |
<h3 style="color: white; margin-bottom: 10px;">Télécharger la traduction</h3>
|
| 50 |
<div style="display: flex; gap: 10px;">
|
|
|
|
| 156 |
}
|
| 157 |
});
|
| 158 |
|
| 159 |
+
// Téléchargements
|
| 160 |
+
document.getElementById('downloadPdf').addEventListener('click', downloadAsPdf);
|
| 161 |
+
document.getElementById('downloadWord').addEventListener('click', downloadAsWord);
|
| 162 |
+
document.getElementById('downloadPpt').addEventListener('click', downloadAsPowerPoint);
|
| 163 |
+
document.getElementById('downloadTxt').addEventListener('click', downloadAsText);
|
| 164 |
+
function downloadAsPdf() {
|
| 165 |
+
const text = document.getElementById("documentResult").dataset.translatedText;
|
| 166 |
+
if (!text) return;
|
| 167 |
+
|
| 168 |
+
const { jsPDF } = window.jspdf;
|
| 169 |
+
const doc = new jsPDF();
|
| 170 |
+
doc.text(text, 10, 10);
|
| 171 |
+
doc.save('traduction.pdf');
|
| 172 |
+
}
|
| 173 |
+
|
| 174 |
+
async function downloadAsWord() {
|
| 175 |
+
const text = document.getElementById("documentResult").dataset.translatedText;
|
| 176 |
+
if (!text) return;
|
| 177 |
+
|
| 178 |
+
const { Document, Paragraph, TextRun, Packer } = window.docx;
|
| 179 |
+
const doc = new Document({
|
| 180 |
+
sections: [{
|
| 181 |
+
properties: {},
|
| 182 |
+
children: [
|
| 183 |
+
new Paragraph({
|
| 184 |
+
children: [
|
| 185 |
+
new TextRun(text)
|
| 186 |
+
]
|
| 187 |
+
})
|
| 188 |
+
]
|
| 189 |
+
}]
|
| 190 |
+
});
|
| 191 |
+
|
| 192 |
+
Packer.toBlob(doc).then(blob => {
|
| 193 |
+
const url = URL.createObjectURL(blob);
|
| 194 |
+
const a = document.createElement('a');
|
| 195 |
+
a.href = url;
|
| 196 |
+
a.download = 'traduction.docx';
|
| 197 |
+
a.click();
|
| 198 |
+
URL.revokeObjectURL(url);
|
| 199 |
+
});
|
| 200 |
+
}
|
| 201 |
+
|
| 202 |
+
function downloadAsPowerPoint() {
|
| 203 |
+
const text = document.getElementById("documentResult").dataset.translatedText;
|
| 204 |
+
if (!text) return;
|
| 205 |
+
|
| 206 |
+
const pptx = new window.PptxGenJS();
|
| 207 |
+
const slide = pptx.addSlide();
|
| 208 |
+
slide.addText(text, { x: 1, y: 1, w: 8, h: 4 });
|
| 209 |
+
pptx.writeFile({ fileName: 'traduction.pptx' });
|
| 210 |
+
}
|
| 211 |
+
|
| 212 |
+
function downloadAsText() {
|
| 213 |
+
const text = document.getElementById("documentResult").dataset.translatedText;
|
| 214 |
+
if (!text) return;
|
| 215 |
+
|
| 216 |
+
const blob = new Blob([text], { type: 'text/plain' });
|
| 217 |
+
const url = URL.createObjectURL(blob);
|
| 218 |
+
const a = document.createElement('a');
|
| 219 |
+
a.href = url;
|
| 220 |
+
a.download = 'traduction.txt';
|
| 221 |
+
a.click();
|
| 222 |
+
URL.revokeObjectURL(url);
|
| 223 |
+
}
|
| 224 |
|
| 225 |
}
|
| 226 |
|