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 文件!');
    }
});