let pdfDoc = null; let currentPage = 1; const scale = 1.5; const canvas = document.getElementById('pdf-canvas'); const context = canvas.getContext('2d'); async function loadPDF(url) { const loadingTask = pdfjsLib.getDocument(url); pdfDoc = await loadingTask.promise; renderPage(currentPage); } async function renderPage(pageNum) { const page = await pdfDoc.getPage(pageNum); const viewport = page.getViewport({ scale: scale }); canvas.width = viewport.width; canvas.height = viewport.height; const renderContext = { canvasContext: context, viewport: viewport, }; await page.render(renderContext).promise; // 在这里调用提取文本的函数 extractTextFromPage(page); } // 新增提取文本功能的函数 async function extractTextFromPage(page) { const textContent = await page.getTextContent(); const textItems = textContent.items; let text = ''; textItems.forEach(item => { text += item.str + ' '; }); // 显示提取的文本 console.log(text); // 或您可以将其输出到某个 DOM 元素中 } // 添加提取文本按钮的事件监听 document.getElementById('extract-text-button').addEventListener('click', async () => { if (pdfDoc) { const page = await pdfDoc.getPage(currentPage); const textContent = await page.getTextContent(); const textItems = textContent.items; let text = ''; textItems.forEach(item => { text += item.str + ' '; }); // 您可以将文本内容显示在页面的某个位置 alert(text); // 这里用 alert 显示,您可以使用其他方法,例如展示在一个 div 元素内 } else { alert('请先加载 PDF 文件!'); } });