SimpleTex文档主页SimpleTex文档主页
首页
常见问题
API开放平台文档
实用教程
技术博客
更新动态
立即使用
  • 简体中文
  • English
首页
常见问题
API开放平台文档
实用教程
技术博客
更新动态
立即使用
  • 简体中文
  • English
  • 说明

    • 开放平台说明
  • 平台鉴权

    • 鉴权说明
    • UAT方式
    • APP方式
    • API返回信息
    • 示例代码
  • 开放能力

    • 公式识别
    • 通用图片识别
    • 文档图片识别(PDF识别)
    • 其他

文档图片识别(PDF识别)

SimpleTex文档图片识别目前支持识别中英两种语言的识别,是目前公式图表增强模式下使用的PDF文件识别的OCR接口 【注意:该接口可能随时进行变动,目前仅供测试参考使用】

调用方法

  • 轻量模型接口地址:https://server.simpletex.cn/api/doc_ocr

  • 模型版本:SimpleTex Doc OCR V1

  • 接口方法:POST

  • 请求参数:

    • Header:鉴权参数(UAT或APP信息)
    • Body:Multipart/form-data
  • 其他说明:目前该接口仅支持一次上传一个文件,不支持批量调用。

  • 参数详解

参数名参数类型必填说明示例
file文件是合法的PDF页的图片二进制文件信息,包括png/jpg等格式,无法开启批量调用,仅支持一次上传一张图片/
inline_formula_wrapper字符串形式Json列表否用于修改行内公式在markdown中的包裹符号。以Json形式填入,如果格式错误将使用默认的包裹符号["$","$"]
isolated_formula_wrapper字符串形式Json列表否用于修改独立行公式在markdown中的包裹符号。以Json形式填入,如果格式错误将使用默认的包裹符号["$$","$$"]

价格

月调用量(次)价格(元/页)
<1000免费
1000+0.02
并发限制量默认调用免费量
请求处理并发量1
普通请求QPS1

返回信息示例

  • 上传单个文件

    {
      "status": true,  // 是否成功调用接口
      "res": { // 调用结果
          "content": "...", // Markdown信息
      },
      "request_id": "tr_16755479007123063412063155819" // 请求ID
    }
    

示例代码

下列代码可以用于将PDF文件转换为Markdown文件,其中使用了PyMuPDF库进行PDF文件的读取,使用PIL库进行图片的处理,使用requests库进行文件上传,使用tqdm库进行进度条显示。

其中可以先用pip安装PyMuPDF, requests, Pillow, tqdm等库然后调用

pip install PyMuPDF requests Pillow tqdm

详细代码

  import io
  import fitz
  from PIL import Image
  import requests
  from tqdm import tqdm
  
  UAT = "xxxxx"  # 用户授权令牌
  
  def pillow_image_to_file_binary(image):
    btyes_io = io.BytesIO()
    image.save(btyes_io, format='PNG')
    return btyes_io.getvalue()
  
  
  def convert_pdf_to_images(pdf_binary, dpi=100):
    doc = fitz.open("pdf", pdf_binary)
    images = []
    for i in range(doc.page_count):
    page = doc[i]
    image = page.get_pixmap(dpi=dpi)
    image = Image.frombytes("RGB", [image.width, image.height], image.samples)
    images.append(image)
    return images
  
  
  def pdf_ocr(image):
    api_url = "https://server.simpletex.cn/api/doc_ocr/"
    header = {"token": UAT}  # 鉴权信息,此处使用UAT方式
    img_file = {"file": pillow_image_to_file_binary(image)}
    res = requests.post(api_url, files=img_file, data={}, headers=header).json()  # 使用requests库上传文件
    print(res)
    return res["res"]["content"]
  
  
  if __name__ == '__main__':
    pdf_path = 'test.pdf'  # 输入pdf文件
    
    file_binary = open(pdf_path, 'rb').read()
    images = convert_pdf_to_images(file_binary)
    final_markdown_content = ""
    for image in tqdm(images):
        final_markdown_content += pdf_ocr(image) + "\n"
    
    open("test.md", "w", encoding="utf-8").write(final_markdown_content)
    print(final_markdown_content)  # 保存并输出最终markdown文件

在未来将进一步支持PDF文件异步直接上传服务。目前测试期间每天自动领取1000次免费识别

最近更新:: 2025/3/31 18:20
Prev
通用图片识别
Next
其他