updated download

This commit is contained in:
2025-09-26 18:53:04 +03:00
parent 02277dd55b
commit c17812a0c1
4 changed files with 950 additions and 27 deletions

View File

@@ -8,10 +8,10 @@
<div class="row justify-content-center mb-4">
<div class="col-md-12">
<div class="text-center">
<h1 class="display-4">🖨️ Quality Recticel Print Extension</h1>
<p class="lead">Simple & Robust Chrome Extension for PDF Printing</p>
<div class="alert alert-success mx-auto" style="max-width: 600px;">
<strong>✨ NEW SIMPLIFIED APPROACH:</strong> No Windows service needed! Just install the Chrome extension and print directly from your browser.
<h1 class="display-4">🖨️ Quality Recticel Print Solutions</h1>
<p class="lead">Choose Your Printing Method: Chrome Extension or Windows Service</p>
<div class="alert alert-info mx-auto" style="max-width: 800px;">
<strong>🆕 TWO POWERFUL OPTIONS:</strong> Simple browser-based Chrome extension or enterprise-grade Windows service for advanced printing needs.
</div>
</div>
</div>
@@ -22,28 +22,28 @@
<div class="col-md-10">
<div class="card border-primary">
<div class="card-header bg-primary text-white">
<h3 class="mb-0">🚀 Simple Chrome Extension Solution</h3>
<h3 class="mb-0">🚀 Two Printing Solutions Available</h3>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<h5>🏆 What You Get:</h5>
<h5><EFBFBD> Chrome Extension (Recommended)</h5>
<ul>
<li><strong>Direct PDF Printing</strong> - Uses browser's print dialog</li>
<li><strong>Zero Configuration</strong> - Works immediately after install</li>
<li><strong>Cross-Platform</strong> - Works on Windows, Mac, Linux</li>
<li><strong>No External Services</strong> - No Windows service needed</li>
<li><strong>Robust Fallback</strong> - Downloads PDF if extension unavailable</li>
<li><strong>Easy Setup</strong> - 2 minutes to install</li>
<li><strong>Cross-Platform</strong> - Windows, Mac, Linux</li>
<li><strong>User Control</strong> - Print dialog for printer selection</li>
<li><strong>Zero Configuration</strong> - Works immediately</li>
<li><strong>Secure</strong> - No external services needed</li>
</ul>
</div>
<div class="col-md-6">
<h5>🔧 How It Works:</h5>
<h5>🔧 Windows Service (Enterprise)</h5>
<ul>
<li>🌐 <strong>Chrome Extension</strong> - Simple browser integration</li>
<li>📄 <strong>Hidden Tab Method</strong> - Opens PDF in background tab</li>
<li><EFBFBD> <strong>Native Print Dialog</strong> - User controls printer selection</li>
<li>🔄 <strong>Auto Cleanup</strong> - Closes tab after printing</li>
<li>🛡️ <strong>Secure</strong> - No external connections required</li>
<li> <strong>Silent Printing</strong> - No user interaction needed</li>
<li><EFBFBD> <strong>Direct Printer Access</strong> - System-level printing</li>
<li>🏢 <strong>Enterprise Ready</strong> - Service auto-recovery</li>
<li><EFBFBD> <strong>Advanced Features</strong> - Multiple print methods</li>
<li>🛡️ <strong>Self-Contained</strong> - Zero external dependencies</li>
</ul>
</div>
</div>
@@ -54,21 +54,21 @@
<!-- Download Cards Row -->
<div class="row justify-content-center">
<!-- Chrome Extension Card - NOW THE ONLY COMPONENT NEEDED -->
<div class="col-md-8 mb-4">
<!-- Chrome Extension Card -->
<div class="col-md-6 mb-4">
<div class="card h-100 border-success">
<div class="card-header bg-success text-white text-center">
<h4 class="mb-0">🌐 Chrome Extension - All You Need!</h4>
<small>Simple browser-based printing solution</small>
<h4 class="mb-0">🌐 Chrome Extension</h4>
<small>Browser-based printing solution</small>
</div>
<div class="card-body d-flex flex-column">
<div class="alert alert-success">
<strong>🎉 SIMPLIFIED:</strong> Just install this Chrome extension - no Windows service needed!
<strong>📋 RECOMMENDED:</strong> Easy setup, works everywhere!
</div>
<h5>🎯 Key Features:</h5>
<ul>
<li><EFBFBD> Opens PDF in hidden browser tab and triggers print dialog</li>
<li>🖨 Opens PDF in hidden browser tab and triggers print dialog</li>
<li>🔍 Automatic extension detection on web page</li>
<li>📊 Print status feedback and error handling</li>
<li>🔄 Graceful fallback to PDF download</li>
@@ -103,6 +103,60 @@
</div>
</div>
</div>
<!-- Windows Service Card -->
<div class="col-md-6 mb-4">
<div class="card h-100 border-primary">
<div class="card-header bg-primary text-white text-center">
<h4 class="mb-0">🔧 Windows Print Service</h4>
<small>Enterprise-grade silent printing</small>
</div>
<div class="card-body d-flex flex-column">
<div class="alert alert-primary">
<strong>🏢 ENTERPRISE:</strong> Silent printing with no user interaction!
</div>
<h5>🎯 Key Features:</h5>
<ul>
<li>⚡ Silent printing - no print dialogs</li>
<li>🖨️ Direct system printer access</li>
<li>🔄 Multiple print methods (Adobe, SumatraPDF, PowerShell)</li>
<li>🛡️ Windows service with auto-recovery</li>
<li>📦 Self-contained - zero dependencies</li>
<li>🏢 Perfect for production environments</li>
</ul>
<h5>🚀 Quick Install (3 steps):</h5>
<ol>
<li>Download and extract the service package</li>
<li>Run <code>install_service_complete.bat</code> as Administrator</li>
<li>Install Chrome extension (included in package)</li>
</ol>
<div class="text-center mt-auto">
<div class="btn-group-vertical mb-3" role="group">
<button class="btn btn-primary btn-lg" id="download-service-btn">
📥 Download Windows Service
</button>
<button class="btn btn-success btn-lg" id="download-zero-deps-btn">
🚀 Download ZERO Dependencies Package
</button>
</div>
<div class="alert alert-info">
<small>
<strong>📦 Standard Package (~50KB):</strong> Requires Python 3.7+ installed<br>
<strong>🚀 Zero Dependencies (~15MB):</strong> Includes everything - no Python needed!
</small>
</div>
<div class="alert alert-warning">
<small>⚠️ <strong>Windows Only:</strong> Requires Administrator privileges for service installation</small>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Documentation Section -->
@@ -269,6 +323,97 @@ document.getElementById('download-extension-btn').addEventListener('click', func
});
});
// Windows Service Download Handler
document.getElementById('download-service-btn').addEventListener('click', function(e) {
e.preventDefault();
// Show loading state
const originalText = this.innerHTML;
this.innerHTML = '⏳ Preparing Windows Service Package...';
this.disabled = true;
// Create the service package
fetch('/create_service_package', {method: 'POST'})
.then(response => response.json())
.then(data => {
if (data.success) {
// Start download
window.location.href = data.download_url;
// Show success message
setTimeout(() => {
this.innerHTML = '✅ Download Started!';
}, 500);
// Reset button
setTimeout(() => {
this.innerHTML = originalText;
this.disabled = false;
}, 3000);
} else {
alert('Error creating service package: ' + data.error);
this.innerHTML = originalText;
this.disabled = false;
}
})
.catch(error => {
alert('Error: ' + error.message);
this.innerHTML = originalText;
this.disabled = false;
});
});
// Zero Dependencies Service Download Handler
document.getElementById('download-zero-deps-btn').addEventListener('click', function(e) {
e.preventDefault();
// Show loading state
const originalText = this.innerHTML;
this.innerHTML = '⏳ Creating Zero-Dependency Package (may take 1-2 minutes)...';
this.disabled = true;
// Show progress info
const progressInfo = document.createElement('div');
progressInfo.className = 'alert alert-info mt-2';
progressInfo.innerHTML = '📥 Downloading Python embedded distribution and creating complete package...';
this.parentElement.appendChild(progressInfo);
// Create the zero-dependency service package
fetch('/create_zero_dependency_service_package', {method: 'POST'})
.then(response => response.json())
.then(data => {
if (data.success) {
// Start download
window.location.href = data.download_url;
// Show success message
setTimeout(() => {
this.innerHTML = `✅ Download Started! (${data.estimated_size_mb}MB)`;
progressInfo.innerHTML = `🎉 Complete package created with ${data.files_included} files including Python ${data.python_version}!`;
progressInfo.className = 'alert alert-success mt-2';
}, 500);
// Reset button
setTimeout(() => {
this.innerHTML = originalText;
this.disabled = false;
progressInfo.remove();
}, 5000);
} else {
alert('Error creating zero-dependency package: ' + data.error);
this.innerHTML = originalText;
this.disabled = false;
progressInfo.remove();
}
})
.catch(error => {
alert('Error: ' + error.message);
this.innerHTML = originalText;
this.disabled = false;
progressInfo.remove();
});
});
// Extension Test Functionality
document.getElementById('test-extension-btn').addEventListener('click', function(e) {
e.preventDefault();
@@ -375,10 +520,10 @@ async function testExtensionConnection() {
// Show installation tips
function showInstallationTips() {
const tips = [
'💡 Tip: This new approach is much simpler - no Windows service needed!',
'💡 Tip: The extension works on Windows, Mac, and Linux',
'💡 Tip: Users will see Chrome\'s print dialog for printer selection',
'💡 Tip: The system gracefully falls back to PDF downloads if needed'
'💡 Tip: Chrome Extension is recommended for most users - cross-platform and easy!',
'💡 Tip: Windows Service is perfect for enterprise environments requiring silent printing',
'💡 Tip: Both solutions work with the same web interface and automatically detected',
'💡 Tip: The system gracefully falls back to PDF downloads if neither is available'
];
let tipIndex = 0;