Conversor JPG para PDF – Ferramenta Online Gratuita & Fácil

Procurando uma maneira rápida e simples de converter imagens JPG em PDFs? Você veio ao lugar certo! Nosso conversor JPG para PDF permite converter arquivos de imagem em PDFs de alta qualidade de forma rápida e fácil, sem a necessidade de instalação ou registro. Se você precisa compartilhar documentos, imprimir fotos ou organizar arquivos de forma eficiente, esta ferramenta fornece a solução perfeita. Basta carregar o seu ficheiro JPG, clicar em “Convert” e obter o seu ficheiro PDF em segundos!

Conversor de JPG para PDF

Converta imagens JPG em documentos PDF gratuitamente, online e fácil de usar.

Selecionar imagens JPG

ou arraste e solte arquivos aqui

.jpg-to-pdf-container { max-width: 800px; margin: 0 auto; padding: 20px; font-family: ‘Segoe UI’, Tahoma, Geneva, Verdana, sans-serif; color: #333; } .converter-header { text-align: center; margin-bottom: 30px; } .converter-header h1 { color: #4a6cf7; font-size: 28px; margin-bottom: 10px; } .converter-header p { color: #666; font-size: 16px; } .converter-box { background-color: #f8f9fa; border-radius: 8px; padding: 30px; margin-bottom: 20px; border: 2px dashed #d1d5db; } .upload-area { text-align: center; padding: 30px; cursor: pointer; transition: all 0.3s; } .upload-area:hover { background-color: #f0f4ff; } .upload-icon { margin-bottom: 15px; } .upload-icon svg { width: 60px; height: 60px; } .upload-area h3 { font-size: 18px; margin-bottom: 5px; color: #4a6cf7; } .upload-area p { color: #666; margin-bottom: 20px; } .select-files-btn { background-color: #4a6cf7; color: white; border: none; padding: 10px 20px; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; } .select-files-btn:hover { background-color: #3a5bd9; } .file-list { margin-bottom: 20px; } .file-item { display: flex; align-items: center; padding: 10px; background-color: #f8f9fa; border-radius: 4px; margin-bottom: 10px; } .file-icon { margin-right: 10px; color: #4a6cf7; } .file-info { flex: 1; } .file-name { font-weight: 500; margin-bottom: 3px; } .file-size { font-size: 12px; color: #666; } .file-remove { color: #ff4d4f; cursor: pointer; padding: 5px; } .action-buttons { display: flex; justify-content: center; gap: 15px; margin-bottom: 30px; } .action-buttons.hidden { display: none; } .convert-btn { background-color: #4a6cf7; color: white; border: none; padding: 10px 25px; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; } .convert-btn:hover { background-color: #3a5bd9; } .clear-btn { background-color: white; color: #ff4d4f; border: 1px solid #ff4d4f; padding: 10px 25px; border-radius: 4px; font-size: 16px; cursor: pointer; transition: all 0.3s; } .clear-btn:hover { background-color: #fff2f0; } .converter-footer { text-align: center; color: #999; font-size: 14px; margin-top: 30px; } .progress-container { padding: 20px; background: #f5f5f5; border-radius: 5px; margin-top: 20px; } .progress-bar { height: 20px; background: #e0e0e0; border-radius: 10px; margin-bottom: 10px; overflow: hidden; } .progress-fill { height: 100%; background: #4a6cf7; width: 0%; transition: width 0.3s; } .progress-text { text-align: center; } .success-message { color: green; text-align: center; padding: 15px; background: #f0f8ff; border-radius: 5px; margin-top: 20px; } .error-message { color: red; text-align: center; padding: 15px; background: #fff0f0; border-radius: 5px; margin-top: 20px; } @media (max-width: 600px) { .jpg-to-pdf-container { padding: 15px; } .converter-box { padding: 20px; } .action-buttons { flex-direction: column; } } document.addEventListener(‘DOMContentLoaded’, function() { // DOM elements const uploadArea = document.getElementById(‘uploadArea’); const fileInput = document.getElementById(‘fileInput’); const selectFilesBtn = document.getElementById(‘selectFilesBtn’); const fileList = document.getElementById(‘fileList’); const actionButtons = document.getElementById(‘actionButtons’); const convertBtn = document.getElementById(‘convertBtn’); const clearBtn = document.getElementById(‘clearBtn’); let files = []; // Event listeners uploadArea.addEventListener(‘click’, () => fileInput.click()); selectFilesBtn.addEventListener(‘click’, (e) => { e.preventDefault(); e.stopPropagation(); fileInput.click(); }); fileInput.addEventListener(‘change’, handleFileSelect); convertBtn.addEventListener(‘click’, convertToPdf); clearBtn.addEventListener(‘click’, clearAllFiles); // Drag and drop functionality [‘dragenter’, ‘dragover’, ‘dragleave’, ‘drop’].forEach(eventName => { uploadArea.addEventListener(eventName, preventDefaults, false); }); function preventDefaults(e) { e.preventDefault(); e.stopPropagation(); } [‘dragenter’, ‘dragover’].forEach(eventName => { uploadArea.addEventListener(eventName, highlight, false); }); [‘dragleave’, ‘drop’].forEach(eventName => { uploadArea.addEventListener(eventName, unhighlight, false); }); function highlight() { uploadArea.style.backgroundColor = ‘#f0f4ff’; uploadArea.style.borderColor = ‘#4a6cf7’; } function unhighlight() { uploadArea.style.backgroundColor = ”; uploadArea.style.borderColor = ‘#d1d5db’; } uploadArea.addEventListener(‘drop’, handleDrop, false); function handleDrop(e) { const dt = e.dataTransfer; const droppedFiles = dt.files; handleFiles(droppedFiles); } // File handling function handleFileSelect(e) { handleFiles(e.target.files); } function handleFiles(newFiles) { for (let i = 0; i { const fileItem = document.createElement(‘div’); fileItem.className = ‘file-item’; fileItem.innerHTML = `