分类目录归档:None

HTML中 table保存xls表格

导入js文件 tado.js :

  function tableToExcel(tableID, sheetName, fileName) {
        const uri = 'data:application/vnd.ms-excel;base64,';
        const template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" '+
                        'xmlns:x="urn:schemas-microsoft-com:office:excel">'+
                        '<head><!--[if gte mso 9]><xml>'+
                        '<x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>'+
                        '<x:Name>'+sheetName+'</x:Name><x:WorksheetOptions>'+
                        '<x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>'+
                        '</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->'+
                        '</head><body><table>{table}</table></body></html>';
        const table = document.getElementById(tableID).outerHTML;
        const base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))); };
        const link = document.createElement('a');
        link.href = uri + base64(template.replace('{table}', table));
        link.download = fileName || 'download.xls';
        link.click();
    }

然后就可以在js里面使用函数 tableToExcel(tableID, sheetName, fileName)调用了

第一个参数为表格id 第二个为保存的sheet名 随便取 第三个为保存xls的文件名随便取

have fun

ubunu 安装 升级 ollama 离线

去github上下载
https://github.com/ollama/ollama/releases

选择最新的ollama-linux-amd64.tgz 下载

tar -xzvf ollama-linux-amd64.tgz

会在该文件下留下

./bin 和 ./lib

将上面的目录内的文件拷贝到 /usr/local/bin 和/usr/local/lib 上面 如果是更新的话就ok了 ,重启服务即可, 不行就reboot

如果是安装 需要将上面的加入进程

不行你就screen -S ollama 里面,运行./usr/local/bin/ollama

PDF文件分割图片

import fitz  # PyMuPDF
from pathlib import Path

def pdf_to_jpg(pdf_path: str, output_folder: str, dpi: int = 300) -> list[str]:
    """
    将 PDF 的每一页转换为 JPG 图片
    
    参数:
        pdf_path: PDF 文件路径
        output_folder: 输出文件夹路径
        dpi: 图像分辨率(默认 300,越高越清晰但文件越大)
    
    返回:
        生成的 JPG 文件路径列表
    """
    # 打开 PDF 文件
    pdf_document = fitz.open(pdf_path)
    
    # 创建输出文件夹
    output_dir = Path(output_folder)
    output_dir.mkdir(parents=True, exist_ok=True)
    
    # 获取 PDF 文件名(不含后缀)
    pdf_name = Path(pdf_path).stem
    
    output_files = []
    
    print(f"开始转换: {pdf_path}")
    print(f"共 {len(pdf_document)} 页")
    
    # 遍历每一页
    for page_num in range(len(pdf_document)):
        page = pdf_document.load_page(page_num)
        
        # 设置缩放比例 (DPI: 72 是 PDF 默认,300 是打印质量)
        zoom = dpi / 72
        matrix = fitz.Matrix(zoom, zoom)
        
        # 渲染页面为图像
        pix = page.get_pixmap(matrix=matrix, colorspace="RGB")
        
        # 生成输出文件名,例如: document_001.jpg
        output_path = output_dir / f"{pdf_name}_{page_num+1:03d}.jpg"
        
        # 保存为 JPG
        pix.save(str(output_path), "JPEG", jpg_quality=95)
        
        output_files.append(str(output_path))
        print(f"已保存: {output_path}")
    
    pdf_document.close()
    print(f"转换完成!共生成 {len(output_files)} 张图片")
    
    return output_files


# 使用示例
if __name__ == "__main__":
    pdf_path = "1.pdf"
    output_folder = "output_images"
    
    # 转换,使用 300 DPI
    jpg_files = pdf_to_jpg(pdf_path, output_folder, dpi=300)
    
    print("\n生成的文件:")
    for file in jpg_files:
        print(file)

ollama的python SDK使用大模型的OCR

# ollama_vl.py
import ollama

def qwen3_vl_chat(image_path: str, prompt: str) -> None:
    """
    调用本地 Ollama 服务,使用 qwen3-vl:2b 做视觉问答。
    参数:
        image_path: 本地图片路径
        prompt    : 提问文本
    打印:
        模型回复字符串
    """
    with open(image_path, "rb") as f:
        img_bytes = f.read()

    response = ollama.generate(
        model="qwen3-vl:2b-instruct",
        prompt=prompt,
        format='json', 
        images=[img_bytes],   # ollama 库直接支持 bytes 列表
        stream=False,
        options={
            "temperature": 0,     # 最 deterministic
            "top_p": 0.5,         # 可再收紧,也可保留默认
            "top_k": 20,          # 默认即可
            "num_predict": 2048   # 按需限制最大 token 数,防瞎飘
        }
    )
    print(response["response"])


# 简单自测
if __name__ == "__main__":
    qwen3_vl_chat("a.png", "请描述这张图片里有什么")