markitdown 文档转markdown

安装

pip install "markitdown[all]"  -i https://mirrors.aliyun.com/pypi/simple/
from markitdown import MarkItDown
from openai import OpenAI

# ✅ 通过 OpenAI 兼容接口连接本地 Ollama
ollama_client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama"  # Ollama 不校验 key,填任意非空字符串即可
)

# 初始化 MarkItDown,绑定 Qwen3-VL-8B
md = MarkItDown(
    llm_client=ollama_client,
    llm_model="qwen3-vl:8b"
)

# ========== 使用示例 ==========

# 1. 扫描版 PDF 转 Markdown(VLM 逐页识别 + 结构还原)
pdf_result = md.convert("scanned_document.pdf")
print("=== PDF ===")
print(pdf_result.text_content)

# 2. Office 文档转 Markdown(docx/xlsx/doc/xls)
#    文本型内容直接解析,嵌入的图片自动交给 VLM 识别
docx_result = md.convert("report.docx")
xlsx_result = md.convert("data.xlsx")

# 3. 图片 OCR 转 Markdown
img_result = md.convert("screenshot.png")
print("=== IMAGE ===")
print(img_result.text_content)

# 💡 保存结果
with open("output.md", "w", encoding="utf-8") as f:
    f.write(pdf_result.text_content)
发表在 None | 留下评论

wj

风华高科(000636.SZ)首次覆盖报告 | 2026-08-05

发表在 None | 留下评论

EVA到尼古喵喵

EVA 诞生于日本经济大衰退的初期,整部作品给人的面貌是压抑,绝望又有希望,反复拉扯。展现了一个上升通道对于逐步关闭下,个体的不放弃又自我内耗。

尼古喵喵则是在一个在日本长时间衰退期下,颓废感弥漫的日常作品。展现了上升通道完全关闭后的个体的自我放弃,沉迷于短时刺激。

对于上面现象事实意义是:

经济在下行周期初期,社会依然弥漫着上行期的形态,个体人仍然不断去奋斗,但是回报在缩减,自我怀疑随,着时间的继续,整体的社会精神面貌会大变,逐步从《EVA》的内耗,滑向《尼古喵喵》的颓废。

发表在 None | 留下评论

PHP JSON处理

json_encode($info[‘info_json’],JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK);

中文 数值 自动转换

发表在 None | 留下评论

SHT40 MICROPYTHON

sht40.py 文件 温湿度传感器 3.3V 【5v 也可以】

import machine
import time
class SHT40:
   def __init__(self, i2c, address=0x44):
       self.i2c = i2c
       self.address = address
   def read_temperature_humidity(self):
       # Send measurement command (High Precision)
       self.i2c.writeto(self.address, b'\xFD')
       time.sleep(0.01) # Wait for measurement to complete
       # Read 6 bytes of data
       data = self.i2c.readfrom(self.address, 6)
       # Convert raw data to temperature and humidity
       temp_raw = int.from_bytes(data[0:2], 'big')
       humidity_raw = int.from_bytes(data[3:5], 'big')
       temperature = -45 + (175 * (temp_raw / 65535.0))
       humidity = 100 * (humidity_raw / 65535.0)
       return temperature, humidity

调用

form sht40 import SHT40
import machine
i2c = machine.I2C(i2scl=machine.Pin(6), sda=machine.Pin(5), freq=100000)
# Initialize SHT40 sensor
sht40 = SHT40(i2c)
# Read and print temperature and humidity
while True:
   temp, hum = sht40.read_temperature_humidity()
   print("Temperature: {:.2f} °C".format(temp))
   print("Humidity: {:.2f} %".format(hum))
   time.sleep(1)

import machine
import time
class SHT40:
   def __init__(self, i2c, address=0x44):
       self.i2c = i2c
       self.address = address
   def read_temperature_humidity(self):
       # Send measurement command (High Precision)
       self.i2c.writeto(self.address, b'\xFD')
       time.sleep(0.01) # Wait for measurement to complete
       # Read 6 bytes of data
       data = self.i2c.readfrom(self.address, 6)
       # Convert raw data to temperature and humidity
       temp_raw = int.from_bytes(data[0:2], 'big')
       humidity_raw = int.from_bytes(data[3:5], 'big')
       temperature = -45 + (175 * (temp_raw / 65535.0))
       humidity = 100 * (humidity_raw / 65535.0)
       return temperature, humidity






# Initialize I2C
i2c = machine.I2C(i2scl=machine.Pin(6), sda=machine.Pin(5), freq=100000)
# Initialize SHT40 sensor
sht40 = SHT40(i2c)
# Read and print temperature and humidity
while True:
   temp, hum = sht40.read_temperature_humidity()
   print("Temperature: {:.2f} °C".format(temp))
   print("Humidity: {:.2f} %".format(hum))
   time.sleep(1)
发表在 None | 留下评论