pix2text 使用经验

给同行打鸡血 😊

构建结构化的数理领域知识库:

  1. 提高可访问性和可搜索性
  • Markdown和LaTeX格式:这两种格式易于在线发布和共享,有助于提高数学内容的可访问性。
  • 搜索引擎优化:将PDF内容转换为标记语言,可以增强搜索引擎的索引能力,使得数学知识更容易被检索到。
  1. 促进知识整合与共享
  • 跨平台兼容性:Markdown和LaTeX文档可以在多个平台和设备上无障碍地查看和编辑。
  • 版本控制:利用Git等版本控制系统,可以更有效地管理和更新数学知识库。
  1. 优化内容结构
  • 层次化组织:Markdown和LaTeX提供了清晰的标题、列表、引用等结构化元素,有助于组织和呈现复杂的数学概念。
  • 模块化内容:将内容分解为小的、可复用的模块,便于构建和管理大规模的知识库。
  1. 加强学术交流与合作
  • 公式编辑与展示:LaTeX特别适合编辑数学公式,保证了学术交流的专业性和准确性。
  • 协作编辑:多人可以同时在线编辑同一份文档,促进学术合作。
  1. 促进知识再利用
  • 自动化处理:转换为标记语言后,可以更容易地实现自动化处理,如自动摘要、信息提取等。
  • 数据交换:便于与其他数据库或知识管理系统进行数据交换。

具体的贡献点:
对Markdown(.md)文档的贡献:

  • 简洁性:Markdown语法简单,易于学习和使用,降低了数学内容创作者的技术门槛。
  • 即时预览:许多在线编辑器支持Markdown的即时预览,便于作者快速校对和格式调整。
    对LaTeX(.tex)文档的贡献:
  • 专业排版:LaTeX提供了专业的数学公式排版功能,保证了数学文档的专业性和美观性。
  • 学术标准:LaTeX是学术出版界的标准工具,转录PDF为LaTeX文档有助于保持学术出版的一致性。

知识产权隐患

  1. 版权侵犯
  • 如果PDF文件受版权保护,未经授权将其内容转录可能侵犯原作者或出版商的版权。
  • 即使是用于教育或研究目的,也需要确保符合“公平使用”(Fair Use)原则。
  1. 专利权
    • 数学理论或方法可能受到专利保护,未经许可的转录可能侵犯专利权。
  2. 商标权
  • 在转录过程中,如果使用了他人的商标或标识,可能会侵犯商标权。

学术道德隐患

  1. 抄袭与剽窃
    • 在转录过程中,如果不正确引用或标明原文出处,可能被视为抄袭或剽窃行为。
    • 即使是转换格式,也需要确保给予原作者适当的学术认可。
  2. 篡改内容
  • 在转录过程中,如果无意或故意修改了原文内容,可能会误导读者,违反学术诚信。
  1. 不当使用
    • 将受版权保护的学术作品用于商业目的或未经授权的公开传播,可能违反学术道德规范。

学术规范隐患

  1. 引用和参考文献
    • 在Markdown或LaTeX文档中,必须按照学术规范正确引用所有参考文献。
    • 忽略或不规范的引用可能导致学术不端行为。
  2. 出版规范
  • 转录后的文档应遵守相关的出版规范,包括格式、署名、版权声明等。
  1. 同行评审
  • 如果转录的内容涉及同行评审的研究,需要确保不违反评审过程的保密性。

应对措施

为避免上述隐患,可以采取以下措施:

  • 获取授权:在转录前,确保获得版权持有者的许可。
  • 正确引用:在文档中正确引用所有来源,遵守学术引用规范。
  • 尊重版权:对于版权保护的内容,仅用于个人学习和研究,不进行商业用途或公开传播。
  • 透明度:在文档中明确指出内容的来源和转录的意图,保持学术透明度。
  • 遵守法律:了解并遵守相关的知识产权法律和学术规范。

安装

!pip install pix2text
!pip install pymupdf
该安装包还依赖 pytorch (pip install pytorch), opencv (pip install opencv-python)

环境准备

  1. c++ redistributable 比 2019 更新的版本。
  2. python 首次调用 pix2text, 程序会自动安装 pix2text 源文件,某些地区的 github 可能会不稳定,可以下载文末连接文件在对应目录存放即可。

代码案例

将 .pdf 拆成若干 .jpg 文件, 再逐一文件进行 .tex 转化, 最后输出 .txt 文件

import os
import fitz
from pix2text import Pix2Text
def pdf_to_jpg(pdf_path, output_folder):# 确保输出目录存在if not os.path.exists(output_folder):os.makedirs(output_folder)# 打开PDF文件pdf_document = fitz.open(pdf_path)# 遍历PDF的每一页for page_number in range(len(pdf_document)):# 打开PDF页面page = pdf_document[page_number]# 将PDF页面渲染为图像pix = page.get_pixmap()# 定义输出JPG文件的路径output_path = f"{output_folder}/page_{page_number + 1}.jpg"# 保存图像pix.save(output_path)print(f"Page {page_number + 1} saved as JPG.")return(len(pdf_document))# 关闭PDF文件pdf_document.close()def convertjpgtotext(output_folder,num):for page_number in range(num):img_fp = f"{output_folder}/page_{page_number+1}.jpg"p2t=Pix2Text.from_config()outs = p2t.recognize_text_formula(img_fp, resized_shape=768, return_text=True)with open('output.txt', 'a', encoding='utf-8') as file:file.write(outs)
# 使用示例
pdf_file_path = 'example.pdf'  # 你的PDF文件路径
output_directory = 'output_jpgs'  # 输出JPG文件的目录
num=pdf_to_jpg(pdf_file_path, output_directory)
convertjpgtotext(output_directory,num)

此外目前大陆线上的大语言模型普遍具有这个功能,但是由于计算资源较大经常无响应, 可以采用上述代码在本地进行逆转换。

https://115cdn.com/s/swhgs363ndk?password=xaf8&#
pix2text.rar
访问码:xaf8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895703.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux(centos)系统安装部署MySQL8.0数据库(GLIBC版本)

安装前检查服务器glibc版本,下载对应版本包 rpm -qa | grep glibc mysql安装包及依赖包已整理好,下载地址:https://pan.quark.cn/s/3137acc814c0,下载即可安装 一、下载MySQL mysql安装包及依赖包已整理好,下载地址…

6.2.图的存储结构-邻接矩阵法

一.邻接矩阵法存储不带权图: 结点不带权值: 1.左图的无向图中,A到B直达的有一条路,所以A行B列的值为1; 左图的无向图中,A到F没有直达的路,所以A行F列的值为0; 结论:无…

【VB语言】EXCEL中VB宏的应用

【VB语言】EXCEL中VB宏的应用 文章目录 [TOC](文章目录) 前言一、EXCEL-VB1.实验过程2.代码 二、EXCEL-VB 生成.c.h文件1.实验过程2.代码 四、参考资料总结 前言 1.WPS-VB扩展包 提示:以下是本篇文章正文内容,下面案例可供参考 一、EXCEL-VB 1.实验过…

用deepseek学大模型05逻辑回归

deepseek.com:逻辑回归的目标函数,损失函数,梯度下降 标量和矩阵形式的数学推导,pytorch真实能跑的代码案例以及模型,数据,预测结果的可视化展示, 模型应用场景和优缺点,及如何改进解决及改进方法数据推导。…

2025年02月17日Github流行趋势

项目名称:OmniParser 项目地址url:https://github.com/microsoft/OmniParser 项目语言:Jupyter Notebook 历史star数:8971 今日star数:969 项目维护者:yadong-lu, ThomasDh-C, aliencaocao, nmstoker, kris…

RocketMQ 5.0安装部署

0.前言 在微服务架构逐渐成为主流的今天,消息队列如同数字世界的快递员,承担着系统间高效通信的重要使命。 Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余…

Ubuntu 22.04.5 LTS 安装企业微信,(2025-02-17安装可行)

一、依赖包(Ubuntu 20.04/Debian 11) 点击下载https://www.spark-app.store/download_dependencies_latest 1、 下载最新的依赖包。 请访问星火应用商店依赖包下载页面, 下载最新的依赖包。2、解压依赖包 </

如何使用 HPjtune 分析 Java GC 日志并优化 JVM 性能

HPjtune 是一款用于分析 Java 应用程序垃圾回收&#xff08;GC&#xff09;日志的工具&#xff0c;主要用于优化 JVM 性能。虽然 HPjtune 本身并不直接生成 HTML 格式的报告&#xff0c;但可以通过结合其他工具或方法将分析结果导出为 HTML 格式。以下是实现这一目标的步骤和方…

国产FPGA开发板选择

FPGA开发板是学习和开发FPGA的重要工具&#xff0c;选择合适的开发板对学习效果和开发效率至关重要。随着国产FPGA的发展&#xff0c;淘宝上的许多FPGA开发板店铺也开始进行国产FPGA的设计和销售&#xff0c;本文将对国产FPGA和相关店铺做个简单梳理&#xff0c;帮助有需要使用…

Java高频面试之SE-22

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; Java中的Optional了解多少&#xff1f; 在 Java 中&#xff0c;Optional 是 Java 8 引入的一个容器类&#xff0c;用于显式处理可能为 null 的…

使用OBS和nginx实现直播流

使用OBS和nginx实现直播流&#xff0c;如 1&#xff0c;下载OBS OBS用于视频录制和直播的免费开源软件。在 Windows、Mac 或 Linux 上快速轻松地下载并开始流式传输。官网下载 2&#xff0c;下载nginx 注意nginx需要下载带gryghon版本&#xff0c;这个才有rtmp模块&#xff0…

PyTorch 源码学习:阅读经验 代码结构

分享自己在学习 PyTorch 源码时阅读过的资料。本文重点关注阅读 PyTorch 源码的经验和 PyTorch 的代码结构。因为 PyTorch 不同版本的源码实现有所不同&#xff0c;所以笔者在整理资料时尽可能按版本号升序&#xff0c;版本号见标题前[]。最新版本的源码实现还请查看 PyTorch 仓…

python实现jaccard系数得出两个集合的相似度

python实现jaccard系数得出两个集合的相似度 1、简介 计算两个集合之间的Jaccard系数是一种常用的方法,用于衡量这两个集合的相似度。 Jaccard系数定义为两个集合交集大小与它们并集大小的比值。 Jaccard 系数的值范围在 0 到 1 之间,值越大表示两个集合越相似。 2、求两个…

小爱音箱控制手机和电视听歌的尝试

最近买了小爱音箱pro&#xff0c;老婆让我扔了&#xff0c;吃灰多年的旧音箱。当然舍不得&#xff0c;比小爱还贵&#xff0c;刚好还有一台红米手机&#xff0c;能插音箱&#xff0c;为了让音箱更加灵活&#xff0c;买了个2元的蓝牙接收模块Type-c供电3.5接口。这就是本次尝试起…

Pycharm+CodeGPT+Ollama+Deepseek

首先&#xff0c;体验截图&#xff1a; 接着&#xff1a; 1、下载Ollama&#xff1a; Download Ollama on macOS 2、下载模型 以1.5b为例&#xff0c;打开命令行&#xff0c;输入: ollama run deepseek-r1:1.5b 3、Pycharm安装Code GPT插件 打开PyCharm&#xff0c;找到文…

如何确保 for...in 循环按照特定顺序遍历对象属性

由于 for...in 循环遍历对象属性的顺序在 ECMAScript 规范中没有严格规定&#xff0c;若要确保按照特定顺序遍历对象属性&#xff0c;不能直接依赖 for...in 本身&#xff0c;不过可以借助一些其他方法来实现。以下是几种常见的解决方案&#xff1a; 1. 使用数组存储属性名并排…

25/2/17 <嵌入式笔记> 桌宠代码解析

这个寒假跟着做了一个开源的桌宠&#xff0c;我们来解析下代码&#xff0c;加深理解。 代码中有开源作者的名字。可以去B站搜着跟着做。 首先看下main代码 #include "stm32f10x.h" // Device header #include "Delay.h" #include &quo…

Qt中基于开源库QRencode生成二维码(附工程源码链接)

目录 1.QRencode简介 2.编译qrencode 3.在Qt中直接使用QRencode源码 3.1.添加源码 3.2.用字符串生成二维码 3.3.用二进制数据生成二维码 3.4.界面设计 3.5.效果展示 4.注意事项 5.源码下载 1.QRencode简介 QRencode是一个开源的库&#xff0c;专门用于生成二维码&…

【Android开发】华为手机安装包安装失败“应用是非正式版发布版本,当前设备不支持安装”问题解决

问题描述 我们将Debug版本的安装包发送到手机上安装&#xff0c;会发现华为手机有如下情况 解决办法 在文件gradle.properties中粘贴代码&#xff1a; android.injected.testOnlyfalse 最后点击“Sync now”&#xff0c;等待重新加载gradle资源即可 后面我们重新编译Debug安装…

前端面试手写--虚拟列表

目录 一.问题背景 二.代码讲解 三.代码改装 四.代码发布 今天我们来学习如何手写一个虚拟列表,本文将把虚拟列表进行拆分并讲解,然后发布到npm网站上. 一.问题背景 为什么需要虚拟列表呢?这是因为在面对大量数据的时候,我们的浏览器会将所有数据都渲染到表格上面,但是渲…