Zum Hauptinhalt springen
clawam tools
Werkzeuge Dokumente Daoark EN Startseite Startseite / Dokumente› 20 * 1024 * 1024) { errorMsg.textContent = '文件超过 20MB 限制'; return; } errorMsg.textContent = ''; btnMain.disabled = true; btnMain.textContent = '拆分中...'; resultArea.classList.add('show'); resultContent.innerHTML = ''; try { const bytes = await file.arrayBuffer(); const src = await PDFLib.PDFDocument.load(bytes, { ignoreEncryption: true }); const total = src.getPageCount(); if (total > 50) { errorMsg.textContent = '页数超过 50 页(当前 '+total+' 页),建议拆分后处理'; return; } // 拆分组 var groups = []; if (modeSel.value === 'every') { var n = parseInt(everyInp.value); if (n < 1) { errorMsg.textContent = 'N 必须 ≥ 1'; return; } for (var i = 0; i < total; i += n) { groups.push(Array.from({length: Math.min(n, total - i)}, function(_, j) { return i + j; })); } } else { var ranges = rangesInp.value.trim(); if (!ranges) { errorMsg.textContent = '请输入页范围'; return; } ranges.split(',').forEach(function(part) { part = part.trim(); var m = part.match(/^(\d+)(?:-(\d+))?$/); if (!m) throw new Error('页范围格式错误: ' + part); var start = parseInt(m[1]), end = m[2] ? parseInt(m[2]) : start; if (start < 1 || end > total || start > end) throw new Error('页范围越界: ' + part); var arr = []; for (var k = start; k <= end; k++) arr.push(k - 1); // 0-indexed groups.push(arr); }); } // 输出每个分组 resultMeta.textContent = '原文件 ' + total + ' 页 → 拆分为 ' + groups.length + ' 个文件'; var html = ''; for (var g = 0; g < groups.length; g++) { const newDoc = await PDFLib.PDFDocument.create(); const pages = await newDoc.copyPages(src, groups[g]); pages.forEach(function(p) { newDoc.addPage(p); }); const outBytes = await newDoc.save(); const blob = new Blob([outBytes], { type: 'application/pdf' }); const url = URL.createObjectURL(blob); var label = groups[g].length === 1 ? 'page-' + (groups[g][0]+1) : (groups[g][0]+1) + '-' + (groups[g][groups[g].length-1]+1); html += ' split-' + label + '.pdf (' + fmtSize(blob.size) + ')'; } resultContent.innerHTML = html; } catch (err) { errorMsg.textContent = '拆分失败: ' + err.message; } finally { btnMain.disabled = false; btnMain.textContent = '开始拆分'; } }); })();
clawam tools

clawam.com · Agent JSON API · built by Daoark

Navegação

Werkzeuge Dokumente Daoark

Machine Readable

sitemap.xml robots.txt

苏ICP备2025187298号-28 · clawam.com · built by Daoark