当前位置: 首页 > news >正文

处理知识库文件_编写powershell脚本文件_批量转换其他格式文件到pdf文件---人工智能工作笔记0249

   最近在做部门知识库,选用的dify,作为rag的工具,但是经过多个对比,最后发现,

比较好用的是,纳米搜索,但是可惜纳米搜索无法在内网使用,无法把知识库放到本地,导致

有信息安全问题无法使用。

    再则,知识库文件导入的时候,测试发现excel文件,直接导入,不如直接转换成pdf文件导入效果要好,纳米搜索对文档的解析,效果更好一些。但是转换pdf文件,如果使用微软的excel,效果不好,只能转换当前页,使用wps效果很好,可以转换所有页,但是,一个一个的去转换效果太慢了。所以自己就做了一个批量,把excel文件转换为pdf的脚本,其实就是一个powershell的脚本文件,直接右键运行就可以了。运行之前,先打开一个excel文件,待处理的。

    然后等待脚本自动处理就可以了。

# 利用wps自动保存为pdf
# 做知识库用,知识库中对pdf的支持会更好一些。AutoKeyPress.ps1
Add-Type -TypeDefinition @'
using System;
using System.Runtime.InteropServices;# Mouse鼠标操作
public class MouseAction {[DllImport("user32.dll")]public static extern bool SetCursorPos(int X, int Y);[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, UIntPtr dwExtraInfo);private const uint MOUSEEVENTF_LEFTDOWN = 0x02;private const uint MOUSEEVENTF_LEFTUP = 0x04;private const uint MOUSEEVENTF_RIGHTDOWN = 0x08;private const uint MOUSEEVENTF_RIGHTUP = 0x10;public static void LeftClick() {mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, UIntPtr.Zero);}public static void RightClick() {mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, UIntPtr.Zero);}public static void LeftClickAt(int x, int y) {SetCursorPos(x, y);mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, UIntPtr.Zero);}public static void RightClickAt(int x, int y) {SetCursorPos(x, y);mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, UIntPtr.Zero);}
}
'@$WShell = New-Object -ComObject wscript.shellwhile($true) {Start-Sleep -Seconds 4# Alt+F  先打开一个文件excel,然后,在文件列表选中最后一个,他会一个个向上处理# 打开文件以后,首先按下alt+f 打开文件 菜单$WShell.SendKeys("%f")Start-Sleep -Seconds 2# A 按下A,选中另存为$WShell.SendKeys("a")Start-Sleep -Seconds 1# M 按下M,打开另存为的窗口$WShell.SendKeys("m")Start-Sleep -Seconds 1# Tab 然后tab选中要保存的格式选项$WShell.SendKeys("{TAB}")Start-Sleep -Seconds 1# End 找到pdf格式$WShell.SendKeys("{END}")Start-Sleep -Seconds 1# Alt+S 保存pdf文件开始$WShell.SendKeys("%s")Start-Sleep -Seconds 6# Enter 关闭 pdf保存完成窗口 保存以后关闭pdf窗口$WShell.SendKeys("{ENTER}")Start-Sleep -Seconds 1#关闭当前文档 处理以后 关闭当前文档$WShell.SendKeys("^w")Start-Sleep -Seconds 1#然后按下n,关闭当前文档$WShell.SendKeys("n")Start-Sleep -Seconds 1# Alt+Tab# 然后按下alt+tab这个不用了,之前用的#$WShell.SendKeys("%{TAB}")#Start-Sleep -Seconds 3#然后打开运行窗口# 创建 Shell.Application 对象并调用 FileRun 方法# 这里是打开运行,运行中注意,默认要显示需要打开的文件夹$shell = New-Object -ComObject "Shell.Application"$shell.FileRun()Start-Sleep -Seconds 1#这里就打开对应的运行显示的文件夹 运行中要提前把对应的文件夹路径贴里面去$WShell.SendKeys("{ENTER}")Start-Sleep -Seconds 1#按下鼠标左键,选中当前的文件# 左键单击当前位置#[MouseAction]::LeftClick()# 发送Alt+D(定位到地址栏)#这个是为了定位到文件列表 $wshell.SendKeys("%d")Start-Sleep -Milliseconds 200# 发送3次Tab键(切换到文件列表)$wshell.SendKeys("{TAB}")Start-Sleep -Milliseconds 100$wshell.SendKeys("{TAB}")Start-Sleep -Milliseconds 100$wshell.SendKeys("{TAB}")#向上选择 处理下一个文件# Up Arrow$WShell.SendKeys("{UP}")Start-Sleep -Seconds 2#按下enter打开下一个文件# Enter$WShell.SendKeys("{ENTER}")# 停顿2秒Start-Sleep -Seconds 2
}

http://www.xdnf.cn/news/727795.html

相关文章:

  • Android 代码阅读环境搭建:VSCODE + SSH + CLANGD(详细版)
  • 生成式AI如何重塑设计思维与品牌创新?从工具到认知革命的跃迁
  • TCP通信与MQTT协议的关系
  • 使用ssh-audit扫描ssh过期加密算法配置
  • Qt实现csv文件按行读取的方式
  • ​什么是RFID电子标签​
  • 1. pytorch手写数字预测
  • 新能源集群划分+电压调节!基于分布式能源集群划分的电压调节策略!
  • 24位高精度数据采集卡NET8860音频振动信号采集监测满足自动化测试应用现场的多样化需求
  • DeepSeek-R1-0528
  • manus对比ChatGPT-Deep reaserch进行研究类论文数据分析!谁更胜一筹?
  • Google Play推出新功能:用户可直接向Gemini提问应用相关问题
  • 无人机多旋翼倾转动力测试系统-适用于(eVTOL开发、缩比模型测试、科研教育)
  • 成都鼎讯--通信干扰设备功能全解析
  • 经典SQL查询问题的练习第二天
  • 【自然语言处理】——基于与训练模型的方法【复习篇1】
  • 1-1 初探Dart编程语言
  • 理想树图书:以科技赋能教育,开启AI时代自主学习新范式
  • 内存池学习(一)
  • 新能源汽车与油车销量
  • ESP32-C6 智能网关设备WiFi6高性能通信应用
  • AR-HUD 光波导方案优化难题待解?OAS 光学软件来破局
  • Java Spring 之拦截器HandlerInterceptor详解与实战
  • Ts中的 可选链操作符
  • Apache SeaTunnel部署技术详解:模式选择、技巧与最佳实践
  • Photoshop使用钢笔绘制图形
  • 一种通用图片红色印章去除的工具设计
  • 【OpenHarmony】【交叉编译】使用gn在Linux编译3568a上运行的可执行程序
  • pikachu通关教程-CSRF XSS
  • 人脸口罩识别