数学公式OCR识别php 对接mathpix api 使用公式编译器
数学公式OCR识别php 对接mathpix api
- 一、注册账号
- 官网网址:https://mathpix.com
- 二、该产品支持多端使用
- 注意说明(每月10次)
- 三、api 对接
- 第一步创建create key
- php对接api
- 这里先封装两个请求函数,get 和post ,通过官方文档我们可以知道,有的api 需要用get 有的需要post .
- 下面我们开始发送请求的封装的一些函数
- 对接图片识别的api
- 对接PDF 识别的api
- 第一步 发送请求
- 第二步骤,获取处理的格式以及处理状态
- 第三步骤,获取处理的结果
- 第四步骤,拿到自己想要的结果进行文件写入。
- 四。其他相关
项目开发中使用公式编译器,也参与开发过公式编译器,国内的巨头,金山,腾讯,这个网页版的编辑器公式这一块就比较糟糕,满足不了试题,公式的情况,后来自己开发的网页版公式编译器,现在对接了ocr 公式识别,国内的ocr 也是很糟糕。只能说针对数学公式这一块比较差,车辆车牌识别,身份证这种就比较简单做的比较好。
一、注册账号
官网网址:https://mathpix.com
如下图所示:

二、该产品支持多端使用
移动端,电脑PC端


注意说明(每月10次)
下载注册登录既可以使用客户端,新用户账号每月可免费使用10次图片转识别或者pdf识别次数,每月清零。
有其他途径下载的需要支付1美元的可以每个月使用50~1000次,这个我没有用过,看别人说的,1美元应该是激活使用,看了都是19年早起其他博主发的帖子。这个能找到最好。
三、api 对接
我们由于是工具类所以我们自己开发的对接的需要使用api 接口服务对接。下面就简单说明一下api 对接把,登录账号进入个人中心如右侧栏目

第一步创建create key
。点击选择API 上图红线标注的地方进入即到如下图界面,说明,创建Key 需要绑定一张信用卡。信用卡的用途是用户激活账号和每月用量的一个账单统计计费,直接通过该卡直接扣款。这个也是比较方便的,不向有的平台直接会员或者按年套餐,用量付费这个大家都比较好接受。绑定卡以后会有一个扣款激活,我这里直接扣款是19.9$ 这个目前活动可以不限制类型的api 接口。后期可能会调整。这个19.9 $ 就是一个激活账号作用,激活后会默认创建一个key 如下图,当然你也可以创建多个key 根据不同的产品单独计费使用,多个接口可以用一个key使用。

官网api 对接文档链接,点击即可进入
官方啊的api 文档写的也是比较专业的,类死与国内的api 比较分类多,个人感觉基本差不多。
下一步就是我们来使用这个api 对接:
php对接api
个人使用的是php 语言,所以这里代码示例就用thinkphp5+ 演示了。官方gethub 和其他的博主用的都是python 示例。基本差不多。都一样把。语法不同,规则不同而已。
这里先封装两个请求函数,get 和post ,通过官方文档我们可以知道,有的api 需要用get 有的需要post .
封装的两个函数get 和post 代码如下。注意类面用到上面我们注册的app_id 和app_key。这个大家都知道,这个就是用来确定身份呢的。对结果阿里,腾讯,百度,都知道。
app_id 和app_key
function api_request_curl($url, $postData = array()) {if (empty($url)) return '';$postData = json_encode($postData);$curl = curl_init(); //初始化curl_setopt($curl,CURLOPT_URL,$url); //设置urlcurl_setopt($curl,CURLOPT_HTTPAUTH,CURLAUTH_BASIC); //设置http验证方法curl_setopt($curl, CURLOPT_TIMEOUT,30);curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); //设置curl_exec获取的信息的返回方式curl_setopt($curl,CURLOPT_POST,1); //设置发送方式为post请求curl_setopt($curl,CURLOPT_POSTFIELDS,$postData); //设置post的数据curl_setopt($curl, CURLOPT_HTTPHEADER, array('app_id:**********','app_key:**********','Content-Type: application/json','Content-Length: ' . strlen($postData)));$result = curl_exec($curl);if($result === false){throw new Exception('Http request message :'.curl_error($curl));}$result = json_decode($result,true);return $result;}/*** get请求* @param $url* @param string $msg* @return mixed*/public function api_request_get($url){if (empty($url)) return '';$curl = curl_init(); //初始化curl_setopt($curl,CURLOPT_URL,$url); //设置urlcurl_setopt($curl,CURLOPT_HTTPAUTH,CURLAUTH_BASIC); //设置http验证方法curl_setopt($curl, CURLOPT_TIMEOUT,30);curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); //设置curl_exec获取的信息的返回方式curl_setopt($curl, CURLOPT_HTTPHEADER, array('app_id:********','app_key:**********'));$result = curl_exec($curl);if($result === false){throw new Exception('Http request message :'.curl_error($curl));}curl_close($curl);return $result;}
下面我们开始发送请求的封装的一些函数
下面是我们用到的api 接口,根据自己的使用场景来选择api 接口即可。
https://api.mathpix.com/v3/app-tokens //token 使用
https://api.mathpix.com/v3/text
https://api.mathpix.com/v3/latex
https://api.mathpix.com/v3/pdf
对接图片识别的api
这里简单说明一下蹄片识别的情况,图片可以直接用图片地址(必须全路径)作为参数来使用。也可以用过file 文件上传来使用,我这里是直接把本都图片上传到服务器,拿到全路径进行一个post请求,请求结果和参数都在下面函数包含,大家可以看看返回的格式,图片识别一般都是快速响应的,一般都会请求后直接返回一个结果如下代码块的内容。
* ocr pdf 识别转docx 处理* @param $pdfurl* @return \think\response\Json*/public function mathpixphoto($photo_path="https://mathpix-ocr-examples.s3.amazonaws.com/cases_hw.jpg"){//https://api.mathpix.com/v3/app-tokens//https://api.mathpix.com/v3/text//https://api.mathpix.com/v3/latex//https://api.mathpix.com/v3/pdf//图形转文本实例1$url = 'https://api.mathpix.com/v3/text';$data['src'] = "https://mathpix-ocr-examples.s3.amazonaws.com/cases_hw.jpg";$data['math_inline_delimiters'] = ["$", "$"];$data['rm_spaces'] = true;回调参数如下{"request_id":"2024_01_12_52927e584385e276cc6cg","version":"RSK-M122p1","image_width":850,"image_height":332,"is_printed":false,"is_handwritten":true,"auto_rotate_confidence":1.1920927533992653e-7,"auto_rotate_degrees":0,"confidence":0.9990236759185791,"confidence_rate":0.9990236759185791,"latex_styled":"f(x)=\\left\\{\\begin{array}{ll}\nx^{2} & \\text { if } x<0 \\\\\n2 x & \\text { if } x \\geq 0\n\\end{array}\\right.","text":"$f(x)=\\left\\{\\begin{array}{ll}x^{2} & \\text { if } x<0 \\\\ 2 x & \\text { if } x \\geq 0\\end{array}\\right.$"}图形转文本实例$url = 'https://api.mathpix.com/v3/text';$data['src'] = $path;$data['formats'] = ["text", "data", "html"];$data['data_options']=['include_asciimath'=>true,'include_latex'=>true];回调参数如下(需要转义json) json 解析直接报错,需要转义{"confidence": 0.9982182085336344,"confidence_rate": 0.9982182085336344,"is_printed": false,"is_handwritten": true,"data": [{"type": "asciimath","value": "lim_(x rarr3)((x^(2)+9)/(x-3))"},{"type": "latex","value": "\\lim _{x \\rightarrow 3}\\left(\\frac{x^{2}+9}{x-3}\\right)"}],"html": "<div><span class=\"math-inline \" >\n<asciimath style=\"display: none;\">lim_(x rarr3)((x^(2)+9)/(x-3))</asciimath><latex style=\"display: none\">\\lim _{x \\rightarrow 3}\\left(\\frac{x^{2}+9}{x-3}\\right)</latex></span></div>\n","text": "\\( \\lim _{x \\rightarrow 3}\\left(\\frac{x^{2}+9}{x-3}\\right) \\)"}$res = $this->api_request_curl($url,$data);return $res;}
对接PDF 识别的api
这里主要和大家说一下pdf 的识别,pdf 我的操作流程是,上传pdf 到服务器或者是oss(阿里) ,obs(腾讯)、七牛云等一些第三方存储。这样我们拿到一个文件地址(全路径)然后直接发送请求。
pdf 对接官方文档提供了4个步骤,分几个步骤也可以理解毕竟系统识别处理文件也有一个过程,这个就是智者见智。
第一步 发送请求
把自己想要ocr 识别的pdf 文件发送给mathpix 告诉对方我要ocr 识别这个文件的内容,请求后会给返回一个pdf_id 或者错误提示,这里我们需要将pdf_id 进行存储,方便处理后面的逻辑。
pdf_id
第二步骤,获取处理的格式以及处理状态
获取转化的状态
“status”:“completed”, 代表完成
第三步骤,获取处理的结果
获取自己第一步需要转化的内容,比如我把pdf 文件需要ocr 识别后转化为docx 或者html 或者zip
“status”:“completed”,代表完成
第四步骤,拿到自己想要的结果进行文件写入。
pdf 转化后的内容写入自己的文件,比如我们需要把数学试卷的pdf 通过ocr api 识别成html 网页格式和docx 格式,一个用于网页展示,一个用于本地文件下载。识别的公式都是可编辑的公式。
*注意 这里的返回结果都是已经转化后的内容直接写入就行了。比如html 格式就是html 内容,直接写入即可。docx 格式就是docx 内容直接写入文件就行。(小插曲之前自己搞个phpword 创建写入一直失败,后来写入text 文本发现就是word的源文件格式,真笑了。)
这里我在函数写了一个sleep_pdf_status 意思就是延迟循环查看处理状态可以省掉低二步骤,第三步骤 ,大家也知道php 的请求延迟最长不超过60s 所以我们通过延迟循环来判断结果这样可以直接写入文件。
sleep_pdf_status
pdf 处理也会返回一个pdf_id 我们可以将该参数进行存储,比如第一次延迟循环返回失败后,在次通过pdf_id获取结果,我测试的基本上一个循环都能成功,也有不成功的,不成功的我们直接重新发起获取结果的函数自己写的就可以了 reissue_pdf_math 这个函数,
reissue_pdf_math
file_put_contents php写入就用该函数就行,下面代码块有
/*** ocr pdf 识别转docx 处理* @param $pdfurl* @return \think\response\Json*/public function mathpixpdf($pdfurl=""){//PDF ocr 识别 第一步 上传$url = 'https://api.mathpix.com/v3/pdf';$data['url'] = "".$pdfurl."";//"https://deyouw.oss-cn-beijing.aliyuncs.com/document/20240115/user_125/57522.pdf";$data['conversion_formats']=['html'=>true,'docx'=>true,'tex.zip'=>true]; $res = $this->api_request_curl($url,$data);$pdf_id = $res['pdf_id'];$res = $this->sleep_pdf_status($pdf_id);return $res;// var_dump($res);// exit;//返回一个pdifid 需要自己记录一下案例如下// {"pdf_id":"2024_01_12_9536370a2434175d0c6dg"}//PDF ocr 识别 第二部,获取转化状态// $url = 'https://api.mathpix.com/v3/pdf/2024_01_15_2cf99221f2144139723fg';// $res = $this->api_request_get($url);// var_dump($res);//返回参数:处理中// {// "status": "split",// "num_pages": 9,// "percent_done": 11.11111111111111,// "num_pages_completed": 1// }//返回参数:完成// {// "status":"completed",// "version":"RSK-P107",// "input_file":"https://deyouw.oss-cn-beijing.aliyuncs.com/document/20240112/user_125/83323.pdf",// "num_pages":2,// "num_pages_pdf":2,// "num_pages_completed":2,// "percent_done":100// }//PDF ocr 识别 第三部,获取转化需要的内容// $url = 'https://api.mathpix.com/v3/converter/2024_01_12_9536370a2434175d0c6dg';// $res = $this->api_request_get($url);// 返回相应参数:完成// {// "status":"completed",// "version":"RSK-P107",// "conversion_status":{// "tex.zip":{// "status":"completed"// },// "docx":{// "status":"completed"// }// }// }// 第四部 -下载所需要的的格式内容html // $url = 'https://api.mathpix.com/v3/converter/2024_01_15_e8b33807c27cb8bf847ag.html';// $text = $this->api_request_get($url); // $filename = "ocr/docx/".time().".html"; // txt文件名// // 将内容写入到txt文件中// if (file_put_contents($filename, $text) !== false) {// return $filename;// echo "成功将内容写入到html文件中!";// } else {// return 202;// echo "无法将内容写入到html文件中。";// }// echo "https://deyouw.com/example.html";// exit;// 第四部 -下载所需要的的格式内容 docx // $time = time().getmyuid();// $url = 'https://api.mathpix.com/v3/converter/'.$pdf_id.'.html';// $text = $this->api_request_get($url); // $filename = "ocr/html/".$time.".html"; // txt文件名// // 将内容写入到txt文件中// if (file_put_contents($filename, $text) !== false) {// $data['html'] = $filename;// echo "成功将内容写入到html文件中!";// } else {// return 202;// echo "无法将内容写入到html文件中。";// }// sleep(3);// $url = 'https://api.mathpix.com/v3/converter/'.$pdf_id.'.docx';// $text = $this->api_request_get($url); // $filename = "ocr/html/".$time.".docx"; // txt文件名// // 将内容写入到txt文件中// if (file_put_contents($filename, $text) !== false) {// $data['doc'] = $filename;// echo "成功将内容写入到docx文件中!";// } else {// return 202;// echo "无法将内容写入到docx文件中。";// }// return $data;// $this->create_word(file_get_contents($filename));// $this->create_word($text);// 返回相应参数:完成// {// "status":"completed",// "version":"RSK-P107",// "conversion_status":{// "tex.zip":{// "status":"completed"// },// "docx":{// "status":"completed"// }// }// }// $data['formats'] = ["text", "html"]; //text", "html" "latex"// $data['data_options']=['include_asciimath'=>true,'include_latex'=>true];//BASE64 格式// $data['app_id'] = config('mathpix')['app_id'];// $data['app_key'] = config('mathpix')['app_key'];// $res = $this->api_request_curl($url,$data);//r.json()['text']// return $res;}//客户端重新获取public function reissue_pdf_math($pdf_id){return $res = $this->sleep_pdf_status($pdf_id);}//获取内容public function pdf_ocr($pdf_id){$url = 'https://api.mathpix.com/v3/converter/'.$pdf_id;$res = $this->api_request_get($url);$res = json_decode($res,true);return $res;}/***获取转化的状态返回参数*PDF ocr 识别 第三部,获取转化需要的内容*/public function sleep_pdf_status($pdf_id){$status = 0;//循环查找最多响应30秒结束for ($i=0; $i < 10; $i++) { $res = $this->pdf_ocr($pdf_id);if($res == NULL || $res == null || empty($res)){$status = 2;}if(array_key_exists('error', $res)){ $status = 2;}if(array_key_exists('status', $res) && $res['status'] == "completed"){ //完成状态$status = 1;continue;}sleep(3); //秒执行}if($status==1){$url = 'https://api.mathpix.com/v3/converter/'.$pdf_id.'.html';$text = $this->api_request_get($url); if(empty($text)){$res = ['status'=>203,'pdf_id'=>$pdf_id,'msg'=>'相应超时失败,请下次重新请求'];return $res;}$filename = "ocr/html/".time().rand(1111,9999).".html"; // html文件名// 将内容写入到txt文件中if (file_put_contents($filename, $text) !== false) {$data['html'] = $filename;// echo "成功将内容写入到html文件中!";} else {$data['html'] = "html转化成功、写入失败";// return 202;// echo "无法将内容写入到html文件中。";}$url = 'https://api.mathpix.com/v3/converter/'.$pdf_id.'.docx';$text2 = $this->api_request_get($url);if(empty($text2)){$res = ['status'=>203,'pdf_id'=>$pdf_id,'msg'=>'相应超时失败,请下次重新请求'];return $res;}$filename = "ocr/html/".time().rand(1111,9999).".docx"; // docx文件名// 将内容写入到txt文件中if (file_put_contents($filename, $text2) !== false) {$data['docx'] = $filename; // echo "成功将内容写入到docx文件中!";} else {$data['docx'] = "docx转化成功、写入失败"; // return 202;// echo "无法将内容写入到docx文件中。";}$data['pdf_id']=$pdf_id;$data['status'] = 200;return $data;}else{$res = ['status'=>203,'pdf_id'=>$pdf_id,'msg'=>'相应超时失败,请下次重新请求'];return $res;}}
四。其他相关
###下面是其他博主的发表的关于mathpix 客户端工具使用,csdn 这个论坛国内比较好,里面的大哥确实挺多的感谢他们的分享
mathpix安装和使用详细教程
使用Mathpix识别和转换富含公式的PDF为Markdown
后面会整合一下markdown 编辑器来实现ocr 识别后,编辑和预览。有兴趣的伙伴可以试着搞个demo
Editor.md
这次就这些内容,不论学习或者工作中遇到问题,想办法解决,都可以发帖,互相学习互相进步。
相关文章:
数学公式OCR识别php 对接mathpix api 使用公式编译器
数学公式OCR识别php 对接mathpix api 一、注册账号官网网址:https://mathpix.com 二、该产品支持多端使用注意说明(每月10次) 三、api 对接第一步创建create keyphp对接api这里先封装两个请求函数,get 和post ,通过官方…...
MySQL原理(二)存储引擎(1)概述
一、存储引擎介绍 1、概念: (1)MySQL中的数据用各种不下同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎…...
微信小程序canvas画布如何解决在for循环绘制图像显示不全的问题
如下所示,在for循环中绘制图像,由于onload函数加载图像是异步执行,会导致显示不全所有图片的问题。 for(var a0;a<2;a){ var img canvas.createImage()img.src product_image[items[a]]img.onload ()>{ctx.drawImage(el,0,h,i…...
Python计算机二级/Python期末考试 刷题(一)
收集了一些经典Python计算机二级和Python期末考试题库 整理不易,大家点赞收藏支持一下 祝大家计算机二级和期末考试都高分过 目录 一、填空 二、选择 三、程序设计 一、填空 1.序列元素的编号称为索引,索引值从【1】开始,访问序列元素时将…...
最新GPT4.0使用教程,AI绘画-Midjourney绘画,GPT语音对话使用,DALL-E3文生图+思维导图一站式解决
一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…...
【JavaScript】两种方法实现继承
JS继承-ES6-基于 class 实现继承 mdn 类 阮一峰 ES6-class mdn-super ES6中推出了class类,是用来创建对象的模板。 class可以看作是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已…...
张维迎《博弈与社会》笔记(3)导论:一些经济学的基础知识
这篇的主要内容介绍了经济学的基础知识吧。 经济学、社会学、心理学的区别 经济学与社会学的区别与共同点 经济学一般是从个人的行为出发解释社会现象(from micro to macro)。社会学的传统方法则是从社会的角度来解释个人的行为(from macro…...
随机生成UI不重叠
注释 简单的随机生成UI且不发生重叠,可以修改算法进行更深入的探索 using System.Collections; using System.Collections.Generic; using UnityEngine;public class CellInfo {/// <summary>/// 物体位置/// </summary>public Vector2 pos;/// <s…...
【C/C++】C/C++编程——第一个 C++ 程序:HelloWorld
第一个 C 程序:HelloWorld 大家好,我是 shopeeai,也可以叫我虾皮,中科大菜鸟研究生。昨天我们成功搭建好了 C 的开发环境,今天我们来介绍一下第一个 C 程序,打印一个"hello world"。首先我们先贴一下示例代…...
扩散视觉反事实算法 DVC:对抗性鲁棒分类器 + 扩散模型,跨模态对比原始的 fundus 图 VS 生成的 OCT 图
对抗性鲁棒分类器 扩散模型:为 正常的 fundus 和 OCT 图,生成更多病症图 解决问题创新点 效果调参技巧总结Fundus 转 OCT(只是猜想,不一定)1. 疾病特征模拟2. 数据增强3. 疾病进展模拟4. 跨模态学习 解决问题 论文&a…...
C++(6) 继承
文章目录 继承1. 继承1.1 什么是继承1.2 C 继承方式1.2.1 基本案例1.2.2 继承权限组合1.2.3 继承中构造函数的说法1.2.4 继承中析构函数的执行顺序1.2.5 继承中变量名称冲突问题1.2.6 继承中函数【重写】 继承 1. 继承 1.1 什么是继承 面向对象程序设计中最重要的一个概念是继…...
【Servlet】Smart Tomcat插件简化Servlet开发流程及解决常见问题
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Servlet】 本专栏旨在分享学习Servlet的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、Smart Tomcat插件二…...
解决Qt连接不上mysql数据库
问题: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 下载网盘中的三个文件(网盘链接在文章结尾):qsqlmysql.dll、qsqlmysqld.qll、libmysql.dll找到你安装Qt的目录ÿ…...
kubernetes-快速部署一套k8s集群
1、前置知识点 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。 二进制包 从github下载发行…...
Windows Server 安装 Docker
一、简介 Docker 不是一个通用容器工具,它依赖运行的 Linux 内核环境。Docker 实质上是在运行的 Linux 服务器上制造了一个隔离的文件环境,所以它执行的效率几乎等同于所部署的 Linux 主机服务器性能。因此,Docker 必须部署在 Linux 内核系统…...
智能分析网关V4智慧机房:视频AI智能安全监管方案
一、背景分析 随着互联网的迅猛发展,机房及其配套设施的数量持续攀升,它们的运行状况对于企业运营效率和服务质量的影响日益显著。作为企业信息化的基石,机房的安全监测与管理的重要性不容忽视。它不仅关乎企业的稳定运营,同时也直…...
一些反序列化总结
1 反序列化漏洞原理 如果反序列化的内容就是那串字符串,是用户可以控制的(即变量的值),且后台不正当的使用了PHP中的魔法函数,就会导致反序列化漏洞,可以执行任意命令。Java 序列化指 Java 对象转换为字节序…...
分披萨(100%用例)C卷(JavaPythonC++Node.jsC语言)
“吃货”和“馋嘴”两人到披萨店点了一份铁盘(圆形)披萨,并咐店员将披萨按放射状切成大小相同的偶数扇形小块。但是粗心服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小。 由于两人都想吃到最多的披萨,他们商量了一个他们认为公平的分法:从“吃货开始,轮流…...
SQL字符串截取函数【简笔记】
MySQL提供了多种字符串函数来处理和截取字符串。下面是一些常用的字符串截取函数及其使用示范: SUBSTRING(str, pos, len) str 是要截取的字符串。pos 是开始截取的位置。len 是截取的长度。 示例: SELECT SUBSTRING(Hello, World!, 8, 5); -- 结果: "World…...
会话技术复习笔记
一.登录校验的需求 什么是登录校验? 所谓登录校验,指的是我们在服务器端接收到浏览器发送过来的请求之后,首先我们要对请求进行校验。先要校验一下用户登录了没有,如果用户已经登录了,就直接执行对应的业务操作就可以…...
flameshow性能优化技巧:如何快速定位Go程序中的CPU热点
flameshow性能优化技巧:如何快速定位Go程序中的CPU热点 【免费下载链接】flameshow A terminal Flamegraph viewer. 项目地址: https://gitcode.com/gh_mirrors/fl/flameshow 🔥 想要快速定位Go程序中的性能瓶颈吗?flameshow是一个强大…...
如何快速掌握Avidemux:新手完整入门指南与5个核心技巧
如何快速掌握Avidemux:新手完整入门指南与5个核心技巧 【免费下载链接】avidemux2 Avidemux2, simple video editor 项目地址: https://gitcode.com/gh_mirrors/avi/avidemux2 Avidemux是一款功能强大且完全开源的专业视频编辑工具,专为快速剪辑、…...
告别杂乱!用FileMenu Tools 8.4.2一键清理Windows 11右键菜单(附隐藏技巧)
Windows 11右键菜单精简指南:用FileMenu Tools打造高效工作流每次在文件上点击右键时,那个缓慢弹出的冗长菜单是否让你感到烦躁?随着安装的软件越来越多,Windows的右键菜单往往会变得臃肿不堪,严重影响工作效率。今天&…...
claude code用户如何迁移到taotoken解决封号与token不足问题
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Claude Code 用户如何迁移到 Taotoken 解决封号与 Token 不足问题 应用场景类,针对 Claude Code 用户常遇封号与 Token…...
别再把大模型当搜索框了:一文讲透 LLM 的基本原理、能力边界与局限性
写在前面很多人把大语言模型当成“会聊天的搜索引擎”,结果一上线就遇到幻觉、口径不稳、上下文丢失、成本失控。真正理解 LLM,要先抓住一句话:它是基于 Transformer 的概率生成模型,核心能力来自海量预训练、上下文学习与后训练对…...
服务器数据下载安全:实时加密与动态访问控制实战
1. 这不是又一个“加个密码”的方案,而是服务器数据流动的实时安检闸机IP-guard安全网关——这个名字在企业IT运维圈里,常被误读为“桌面端U盘管控工具”或“员工上网行为审计系统”。但真正用过它来守服务器的人,会立刻意识到:它…...
如何高效使用HiveWE:魔兽争霸III地图制作的完整秘籍
如何高效使用HiveWE:魔兽争霸III地图制作的完整秘籍 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 还在为魔兽争霸III原版编辑器加载缓慢、操作卡顿而烦恼吗?HiveWE作为一款专注于速…...
【独家首发】Sora 2 AVI支持并非“开箱即用”:3层封装校验机制详解(RIFF→AVI→OpenCV Mat内存映射链路图解)
更多请点击: https://codechina.net 第一章:Sora 2 AVI支持并非“开箱即用”:核心矛盾与技术定位 Sora 2 的官方文档与发布说明中明确将 AVI 视为“实验性容器支持”,而非默认启用的输入格式。其底层解码栈基于 FFmpeg 5.1 构建&…...
四大桌面云品牌评测:从安全、体验到性价比
桌面云不再是大型企业的专属,它已成为各行各业实现数据安全、混合办公和IT降本增效的“标准配置”。经过对市场主流方案的全面评估,我们认为,深信服(Sangfor)aDesk桌面云因其在安全内生化、传输协议自研化、运维管理智…...
BurpSuite+SqlMap深度集成:构建高可信SQL注入检测流水线
1. 这不是“点几下就出结果”的玩具,而是你真正能放进渗透流程里的SQL注入检测流水线很多人第一次看到“BurpSuiteSqlMap插件5分钟搞定SQL注入检测”这个标题,第一反应是:又一个标题党?点开全是截图堆砌、参数照抄、报错就卡住的半…...
