Famous Artwork Analysis Generator

Famous Artwork Analysis Generator

1. Artwork Metadata

2. Formal Elements (Description)

3. Context and Interpretation

Configure details in the Data Configuration tab and click "Generate Analysis Report" to see the full document here.

${data.comp}

3. Historical & Interpretive Analysis
Historical/Cultural Context

${data.context}

Interpretation and Meaning

${data.interpretation}

Key Concepts/Keywords

Keywords: ${data.keywords || 'N/A'}

`; analysisContentDiv.innerHTML = analysisHtml; }; generateBtn.addEventListener("click", function() { generateAnalysis(); showTab(1); // Switch to Dashboard }); // --- PDF Download --- pdfBtn.addEventListener("click", function() { var jsPDF = window.jspdf.jsPDF; var titleSlug = titleInput.value.replace(/[^a-zA-Z0-9\s]/g, '').replace(/\s/g, '_').substring(0, 30) || 'Artwork_Analysis'; var fileName = `${titleSlug}.pdf`; html2canvas(exportArea, { scale: 2, useCORS: true, backgroundColor: '#ffffff' }).then(function(canvas) { var imgData = canvas.toDataURL('image/png'); var doc = new jsPDF({ orientation: 'p', unit: 'pt', format: 'letter' }); var pdfWidth = doc.internal.pageSize.getWidth(); var pdfHeight = doc.internal.pageSize.getHeight(); var imgProps = doc.getImageProperties(imgData); var imgWidth = imgProps.width; var imgHeight = imgProps.height; var margin = 40; var usableWidth = pdfWidth - (2 * margin); var ratio = usableWidth / imgWidth; var scaledHeight = imgHeight * ratio; if (scaledHeight > pdfHeight - (2 * margin)) { var pageHeight = pdfHeight - (2 * margin); var heightLeft = scaledHeight; var position = 0; while (heightLeft > 0) { doc.addImage(imgData, 'PNG', margin, position + margin, usableWidth, scaledHeight); heightLeft -= pageHeight; position -= pageHeight; if (heightLeft > 0) { doc.addPage(); } } } else { // Single page doc.addImage(imgData, 'PNG', margin, margin, usableWidth, scaledHeight); } doc.save(fileName); }).catch(function(err) { console.error("AAG PDF Error:", err); // alert("An error occurred while generating the PDF."); // Per spec }); }); // --- Initial Load --- generateAnalysis(); // Render initial sample content showTab(0); });
Scroll to Top