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

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.kler.cn/a/549844.html

相关文章:

  • 《Performance Analysisi and Tuning on Modern CPU》阅读笔记
  • springboot项目如何部署到tomcat中
  • 12. Docker 网络(bridge,host,none,container,自定义网络)配置操作详解
  • DeepSeek 与 Ollama:本地运行 AI 模型的完美组合
  • 5-CDE说明
  • Selenium定位元素的方法及其语法
  • 个人笔记二:数电篇
  • ORB-SLAM3的源码学习: Settings.cc:Settings::readCamera1/readCamera2 从配置文件中加载相机参数
  • [BJDCTF2020]EzPHP
  • 【DeepSeek】DeepSeek R1 本地windows部署(Ollama+Docker+OpenWebUI)
  • IDEA集成DeepSeek
  • NO.17十六届蓝桥杯备战|do-while循环|break和continue语句|三道练习(C++)
  • SQL递归技巧
  • 盲注技术获取数据库的表名、列名和数据
  • 【test】fio测试 linux存储性能测试
  • linux笔记:shell中的while、if、for语句
  • 开源项目Perplexica-master
  • 对于简单的HTML、CSS、JavaScript前端,我们可以通过几种方式连接后端
  • Shell脚本和Python的工作路径
  • Linux自学day20-流的输入与输出