PDF zu EPUB

Wandle PDF in das EPUB-eBook-Format mit Kapitelnavigation um.

Tutorial lesen →

PDF-Datei hier ablegen

oder Datei durchsuchen
💡 Tip: This tool works best with text-based PDFs. Scanned PDFs or documents with heavy graphics/images will produce limited results. For optimal conversion, use PDFs with selectable text content.

Warum PDFNeo?

Gemacht für Geschwindigkeit, Datenschutz und Einfachheit.

Blitzschnell

Verarbeite Dateien in Sekunden mit unserer optimierten Engine

100% sicher

Dateien werden lokal verarbeitet, nie auf Server hochgeladen

Funktioniert überall

Nutze es auf jedem Gerät, Browser und jederzeit

Keine Anmeldung Funktioniert offline Keine Dateibeschränkungen Für immer kostenlos
Deine Dateien werden lokal verarbeitet und nie auf einen Server hochgeladen.

Page ${ch.pageNum}

${textToHTMLParagraphs(ch.text)}
`; zip.file(`OEBPS/${ch.id}.xhtml`, xhtmlContent); manifest.push(` `); spine.push(` `); tocNav.push(`
  • Page ${ch.pageNum}
  • `); } // 4. Style CSS zip.file('OEBPS/style.css', `body { font-family: Georgia, "Times New Roman", serif; font-size: 1em; line-height: 1.6; margin: 1em; color: #333; } .chapter { margin-bottom: 2em; } .chapter-title { font-size: 1.3em; color: #4d2df9; border-bottom: 1px solid #ddd; padding-bottom: 0.3em; margin-bottom: 1em; page-break-before: always; } p { margin: 0.5em 0; text-indent: 0; } p + p { text-indent: 1.5em; }`); // 5. content.opf zip.file('OEBPS/content.opf', ` urn:uuid:${bookId} ${escapeXML(bookTitle)} ${escapeXML(bookAuthor)} en ${new Date().toISOString().split('T')[0]} ${manifest.join('\n')} ${spine.join('\n')} `); // 6. toc.ncx const navPoints = chapters.map((ch, idx) => ` Page ${ch.pageNum} `).join('\n'); zip.file('OEBPS/toc.ncx', ` ${escapeXML(bookTitle)} ${escapeXML(bookAuthor)} ${navPoints} `); showProgress(true, 90, 'Packaging EPUB...'); // Generate EPUB blob - ensure mimetype is written first uncompressed resultBlob = await zip.generateAsync({ type: 'blob', mimeType: 'application/epub+zip', compression: 'DEFLATE', compressionOptions: { level: 6 } }); showProgress(true, 100, 'Fertig!'); setTimeout(() => { showProgress(false); const sizeMB = (resultBlob.size / (1024 * 1024)).toFixed(2); document.getElementById('resultInfo').textContent = `${pages.length} page(s) converted to EPUB`; document.getElementById('resultDetails').innerHTML = `Title: ${escapeHTML(bookTitle)} | Chapters: ${chapters.length} | Size: ${sizeMB} MB | Format: EPUB2`; document.getElementById('resultArea').style.display = 'block'; }, 500); } catch (err) { alert('Fehler: ' + err.message); showProgress(false); } btn.disabled = false; } function downloadEPUB() { if (!resultBlob) return; const baseName = pdfFile ? pdfFile.name.replace('.pdf', '') : 'output'; downloadBlob(resultBlob, baseName + '.epub'); }