markitdown-docx-image-plugin


Namemarkitdown-docx-image-plugin JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
Summary将Word文档中的图片提取到目录中,并在Markdown中使用相对路径引用
upload_time2025-10-13 05:30:29
maintainerNone
docs_urlNone
authorFengyun
requires_python>=3.9
licenseNone
keywords docx image markitdown plugin
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MarkItDown DOCX图片提取插件

这个插件扩展了 MarkItDown,能够将 Word 文档(.docx)中的图片提取到指定目录,并在生成的 Markdown 中使用相对路径引用这些图片。

## 功能特点

- ✅ 自动从 DOCX 文件中提取所有图片
- ✅ 保存图片到指定目录(默认为 `docx_images/`)
- ✅ 在 Markdown 中使用相对路径引用图片
- ✅ 避免 Data URI 导致的 Markdown 文件过大
- ✅ 生成唯一的图片文件名(基于原文档名 + UUID)
- ✅ 支持配置图片服务器host(通过环境变量)
- ✅ **自动转换 Word 公式为 LaTeX 格式**(OMML → `$...$`)
- ✅ **优先级设置确保在标准转换器之前运行**(priority=-1.0)

## 问题解决

### 默认行为的问题

MarkItDown 默认将 DOCX 中的图片转换为 base64 编码的 Data URI,这会导致:
- Markdown 文件变得非常大
- 不利于版本控制
- 某些编辑器无法正确显示

### 本插件的解决方案

将图片提取为独立文件,使用相对路径引用:
```markdown
![图片描述](docx_images/document_image1_a3f7b8c9d1e2.png)
![图片描述](docx_images/document_image2_f9e4d3c2b1a0.jpg)
```

或者使用图片服务器的完整URL:
```markdown
![图片描述](https://cdn.example.com/docx_images/document_image1_a3f7b8c9d1e2.png)
![图片描述](https://cdn.example.com/docx_images/document_image2_f9e4d3c2b1a0.jpg)
```

## 安装

1. 首先确保已安装 MarkItDown:
```bash
pip install markitdown[docx]
```

2. 安装本插件:
```bash
cd /path/to/markitdown-docx-image-plugin
pip install -e .
```

3. 验证插件已安装:
```bash
markitdown --list-plugins
```

应该看到:
```
Installed MarkItDown 3rd-party Plugins:

  * docx_image_extractor    (package: markitdown_docx_image_plugin)
```

## 使用方法

### 命令行使用

```bash
# 基本用法(图片保存到 docx_images/ 目录)
markitdown --use-plugins document.docx -o output.md

# 图片和 markdown 会分别生成:
# - output.md (包含相对路径的图片引用)
# - docx_images/document_image1_a3f7b8c9d1e2.png
# - docx_images/document_image2_f9e4d3c2b1a0.jpg
```

### Python API 使用

```python
from markitdown import MarkItDown

# 启用插件
md = MarkItDown(enable_plugins=True)

# 转换文档(使用默认图片目录 "docx_images")
result = md.convert("document.docx")

# 保存 markdown
with open("output.md", "w", encoding="utf-8") as f:
    f.write(result.markdown)

# 图片会自动保存到 docx_images/ 目录
```

### 自定义图片输出目录

```python
from markitdown import MarkItDown

# 启用插件并指定图片目录
md = MarkItDown(
    enable_plugins=True, 
    image_output_dir="assets/images"
)

result = md.convert("document.docx", image_output_dir="assets/images")

with open("output.md", "w", encoding="utf-8") as f:
    f.write(result.markdown)

# 图片会保存到 assets/images/ 目录
```

### 配置图片服务器host

通过设置环境变量 `IMAGE_SERVER_HOST`,可以让生成的 Markdown 使用完整的图片服务器URL,而不是相对路径:

```bash
# 使用相对路径(默认)
markitdown --use-plugins document.docx -o output.md
# 生成: ![](docx_images/doc_image1_a3f7b8c9d1e2.png)

# 使用图片服务器URL
export IMAGE_SERVER_HOST="https://cdn.example.com"
markitdown --use-plugins document.docx -o output.md
# 生成: ![](https://cdn.example.com/docx_images/doc_image1_a3f7b8c9d1e2.png)
```

在Python中使用:

```python
import os
from markitdown import MarkItDown

# 设置图片服务器host
os.environ['IMAGE_SERVER_HOST'] = 'https://cdn.example.com'

# 启用插件
md = MarkItDown(enable_plugins=True)

# 转换文档
result = md.convert("document.docx")

# 生成的图片引用将使用完整URL
# ![](https://cdn.example.com/docx_images/document_image1_a3f7b8c9d1e2.png)
```

**应用场景:**
- 本地开发时不设置环境变量,使用相对路径
- 生产环境中设置环境变量,使用CDN或图片服务器的完整URL
- 自动化处理时可根据需要动态配置

## 工作原理

1. **提取图片**:使用 mammoth 从 DOCX 文件中提取所有图片
2. **生成唯一文件名**:文件名格式为 `{文档名}_image{序号}_{UUID}.{扩展名}`,其中UUID确保文件名唯一性
3. **保存文件**:将图片保存到指定目录
4. **生成图片引用**:根据环境变量 `IMAGE_SERVER_HOST` 决定使用相对路径还是完整URL
5. **转换 Markdown**:将 HTML 转换为 Markdown

## 输出示例

**输入文件:** `report.docx`(包含2张图片)

**输出结构:**
```
report.md
docx_images/
  ├── report_image1_a3f7b8c9d1e2.png
  └── report_image2_f9e4d3c2b1a0.jpg
```

**report.md 内容(相对路径模式):**
```markdown
# 报告标题

这是报告的第一段文字。

![图表1](docx_images/report_image1_a3f7b8c9d1e2.png)

这是更多内容。

![照片](docx_images/report_image2_f9e4d3c2b1a0.jpg)
```

**report.md 内容(配置图片服务器后):**
```markdown
# 报告标题

这是报告的第一段文字。

![图表1](https://cdn.example.com/docx_images/report_image1_a3f7b8c9d1e2.png)

这是更多内容。

![照片](https://cdn.example.com/docx_images/report_image2_f9e4d3c2b1a0.jpg)
```

## 注意事项

1. **目录创建**:插件会自动创建图片输出目录(如果不存在)
2. **文件命名**:图片文件名包含UUID(12位),确保唯一性,避免冲突
3. **相对路径 vs 完整URL**:
   - 未设置 `IMAGE_SERVER_HOST`:使用相对路径(如 `docx_images/file.png`)
   - 设置了 `IMAGE_SERVER_HOST`:使用完整URL(如 `https://cdn.example.com/docx_images/file.png`)
4. **环境变量**:`IMAGE_SERVER_HOST` 会自动移除末尾的斜杠,确保URL格式正确

## 依赖项

- `markitdown>=0.0.2`
- `mammoth` - 用于读取 DOCX 文件
- `beautifulsoup4` - 用于解析 HTML
- `markdownify` - 用于将 HTML 转换为 Markdown

## 许可证

MIT License

## 贡献

欢迎提交 Issue 和 Pull Request!


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "markitdown-docx-image-plugin",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "docx, image, markitdown, plugin",
    "author": "Fengyun",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/df/bf/bab35af41a77b8d164cb9457dc5108decc13a649e7fcd153e82e60ed68db/markitdown_docx_image_plugin-0.3.0.tar.gz",
    "platform": null,
    "description": "# MarkItDown DOCX\u56fe\u7247\u63d0\u53d6\u63d2\u4ef6\n\n\u8fd9\u4e2a\u63d2\u4ef6\u6269\u5c55\u4e86 MarkItDown\uff0c\u80fd\u591f\u5c06 Word \u6587\u6863\uff08.docx\uff09\u4e2d\u7684\u56fe\u7247\u63d0\u53d6\u5230\u6307\u5b9a\u76ee\u5f55\uff0c\u5e76\u5728\u751f\u6210\u7684 Markdown \u4e2d\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\u5f15\u7528\u8fd9\u4e9b\u56fe\u7247\u3002\n\n## \u529f\u80fd\u7279\u70b9\n\n- \u2705 \u81ea\u52a8\u4ece DOCX \u6587\u4ef6\u4e2d\u63d0\u53d6\u6240\u6709\u56fe\u7247\n- \u2705 \u4fdd\u5b58\u56fe\u7247\u5230\u6307\u5b9a\u76ee\u5f55\uff08\u9ed8\u8ba4\u4e3a `docx_images/`\uff09\n- \u2705 \u5728 Markdown \u4e2d\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\u5f15\u7528\u56fe\u7247\n- \u2705 \u907f\u514d Data URI \u5bfc\u81f4\u7684 Markdown \u6587\u4ef6\u8fc7\u5927\n- \u2705 \u751f\u6210\u552f\u4e00\u7684\u56fe\u7247\u6587\u4ef6\u540d\uff08\u57fa\u4e8e\u539f\u6587\u6863\u540d + UUID\uff09\n- \u2705 \u652f\u6301\u914d\u7f6e\u56fe\u7247\u670d\u52a1\u5668host\uff08\u901a\u8fc7\u73af\u5883\u53d8\u91cf\uff09\n- \u2705 **\u81ea\u52a8\u8f6c\u6362 Word \u516c\u5f0f\u4e3a LaTeX \u683c\u5f0f**\uff08OMML \u2192 `$...$`\uff09\n- \u2705 **\u4f18\u5148\u7ea7\u8bbe\u7f6e\u786e\u4fdd\u5728\u6807\u51c6\u8f6c\u6362\u5668\u4e4b\u524d\u8fd0\u884c**\uff08priority=-1.0\uff09\n\n## \u95ee\u9898\u89e3\u51b3\n\n### \u9ed8\u8ba4\u884c\u4e3a\u7684\u95ee\u9898\n\nMarkItDown \u9ed8\u8ba4\u5c06 DOCX \u4e2d\u7684\u56fe\u7247\u8f6c\u6362\u4e3a base64 \u7f16\u7801\u7684 Data URI\uff0c\u8fd9\u4f1a\u5bfc\u81f4\uff1a\n- Markdown \u6587\u4ef6\u53d8\u5f97\u975e\u5e38\u5927\n- \u4e0d\u5229\u4e8e\u7248\u672c\u63a7\u5236\n- \u67d0\u4e9b\u7f16\u8f91\u5668\u65e0\u6cd5\u6b63\u786e\u663e\u793a\n\n### \u672c\u63d2\u4ef6\u7684\u89e3\u51b3\u65b9\u6848\n\n\u5c06\u56fe\u7247\u63d0\u53d6\u4e3a\u72ec\u7acb\u6587\u4ef6\uff0c\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\u5f15\u7528\uff1a\n```markdown\n![\u56fe\u7247\u63cf\u8ff0](docx_images/document_image1_a3f7b8c9d1e2.png)\n![\u56fe\u7247\u63cf\u8ff0](docx_images/document_image2_f9e4d3c2b1a0.jpg)\n```\n\n\u6216\u8005\u4f7f\u7528\u56fe\u7247\u670d\u52a1\u5668\u7684\u5b8c\u6574URL\uff1a\n```markdown\n![\u56fe\u7247\u63cf\u8ff0](https://cdn.example.com/docx_images/document_image1_a3f7b8c9d1e2.png)\n![\u56fe\u7247\u63cf\u8ff0](https://cdn.example.com/docx_images/document_image2_f9e4d3c2b1a0.jpg)\n```\n\n## \u5b89\u88c5\n\n1. \u9996\u5148\u786e\u4fdd\u5df2\u5b89\u88c5 MarkItDown\uff1a\n```bash\npip install markitdown[docx]\n```\n\n2. \u5b89\u88c5\u672c\u63d2\u4ef6\uff1a\n```bash\ncd /path/to/markitdown-docx-image-plugin\npip install -e .\n```\n\n3. \u9a8c\u8bc1\u63d2\u4ef6\u5df2\u5b89\u88c5\uff1a\n```bash\nmarkitdown --list-plugins\n```\n\n\u5e94\u8be5\u770b\u5230\uff1a\n```\nInstalled MarkItDown 3rd-party Plugins:\n\n  * docx_image_extractor    (package: markitdown_docx_image_plugin)\n```\n\n## \u4f7f\u7528\u65b9\u6cd5\n\n### \u547d\u4ee4\u884c\u4f7f\u7528\n\n```bash\n# \u57fa\u672c\u7528\u6cd5\uff08\u56fe\u7247\u4fdd\u5b58\u5230 docx_images/ \u76ee\u5f55\uff09\nmarkitdown --use-plugins document.docx -o output.md\n\n# \u56fe\u7247\u548c markdown \u4f1a\u5206\u522b\u751f\u6210\uff1a\n# - output.md \uff08\u5305\u542b\u76f8\u5bf9\u8def\u5f84\u7684\u56fe\u7247\u5f15\u7528\uff09\n# - docx_images/document_image1_a3f7b8c9d1e2.png\n# - docx_images/document_image2_f9e4d3c2b1a0.jpg\n```\n\n### Python API \u4f7f\u7528\n\n```python\nfrom markitdown import MarkItDown\n\n# \u542f\u7528\u63d2\u4ef6\nmd = MarkItDown(enable_plugins=True)\n\n# \u8f6c\u6362\u6587\u6863\uff08\u4f7f\u7528\u9ed8\u8ba4\u56fe\u7247\u76ee\u5f55 \"docx_images\"\uff09\nresult = md.convert(\"document.docx\")\n\n# \u4fdd\u5b58 markdown\nwith open(\"output.md\", \"w\", encoding=\"utf-8\") as f:\n    f.write(result.markdown)\n\n# \u56fe\u7247\u4f1a\u81ea\u52a8\u4fdd\u5b58\u5230 docx_images/ \u76ee\u5f55\n```\n\n### \u81ea\u5b9a\u4e49\u56fe\u7247\u8f93\u51fa\u76ee\u5f55\n\n```python\nfrom markitdown import MarkItDown\n\n# \u542f\u7528\u63d2\u4ef6\u5e76\u6307\u5b9a\u56fe\u7247\u76ee\u5f55\nmd = MarkItDown(\n    enable_plugins=True, \n    image_output_dir=\"assets/images\"\n)\n\nresult = md.convert(\"document.docx\", image_output_dir=\"assets/images\")\n\nwith open(\"output.md\", \"w\", encoding=\"utf-8\") as f:\n    f.write(result.markdown)\n\n# \u56fe\u7247\u4f1a\u4fdd\u5b58\u5230 assets/images/ \u76ee\u5f55\n```\n\n### \u914d\u7f6e\u56fe\u7247\u670d\u52a1\u5668host\n\n\u901a\u8fc7\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf `IMAGE_SERVER_HOST`\uff0c\u53ef\u4ee5\u8ba9\u751f\u6210\u7684 Markdown \u4f7f\u7528\u5b8c\u6574\u7684\u56fe\u7247\u670d\u52a1\u5668URL\uff0c\u800c\u4e0d\u662f\u76f8\u5bf9\u8def\u5f84\uff1a\n\n```bash\n# \u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\uff08\u9ed8\u8ba4\uff09\nmarkitdown --use-plugins document.docx -o output.md\n# \u751f\u6210: ![](docx_images/doc_image1_a3f7b8c9d1e2.png)\n\n# \u4f7f\u7528\u56fe\u7247\u670d\u52a1\u5668URL\nexport IMAGE_SERVER_HOST=\"https://cdn.example.com\"\nmarkitdown --use-plugins document.docx -o output.md\n# \u751f\u6210: ![](https://cdn.example.com/docx_images/doc_image1_a3f7b8c9d1e2.png)\n```\n\n\u5728Python\u4e2d\u4f7f\u7528\uff1a\n\n```python\nimport os\nfrom markitdown import MarkItDown\n\n# \u8bbe\u7f6e\u56fe\u7247\u670d\u52a1\u5668host\nos.environ['IMAGE_SERVER_HOST'] = 'https://cdn.example.com'\n\n# \u542f\u7528\u63d2\u4ef6\nmd = MarkItDown(enable_plugins=True)\n\n# \u8f6c\u6362\u6587\u6863\nresult = md.convert(\"document.docx\")\n\n# \u751f\u6210\u7684\u56fe\u7247\u5f15\u7528\u5c06\u4f7f\u7528\u5b8c\u6574URL\n# ![](https://cdn.example.com/docx_images/document_image1_a3f7b8c9d1e2.png)\n```\n\n**\u5e94\u7528\u573a\u666f\uff1a**\n- \u672c\u5730\u5f00\u53d1\u65f6\u4e0d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\n- \u751f\u4ea7\u73af\u5883\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528CDN\u6216\u56fe\u7247\u670d\u52a1\u5668\u7684\u5b8c\u6574URL\n- \u81ea\u52a8\u5316\u5904\u7406\u65f6\u53ef\u6839\u636e\u9700\u8981\u52a8\u6001\u914d\u7f6e\n\n## \u5de5\u4f5c\u539f\u7406\n\n1. **\u63d0\u53d6\u56fe\u7247**\uff1a\u4f7f\u7528 mammoth \u4ece DOCX \u6587\u4ef6\u4e2d\u63d0\u53d6\u6240\u6709\u56fe\u7247\n2. **\u751f\u6210\u552f\u4e00\u6587\u4ef6\u540d**\uff1a\u6587\u4ef6\u540d\u683c\u5f0f\u4e3a `{\u6587\u6863\u540d}_image{\u5e8f\u53f7}_{UUID}.{\u6269\u5c55\u540d}`\uff0c\u5176\u4e2dUUID\u786e\u4fdd\u6587\u4ef6\u540d\u552f\u4e00\u6027\n3. **\u4fdd\u5b58\u6587\u4ef6**\uff1a\u5c06\u56fe\u7247\u4fdd\u5b58\u5230\u6307\u5b9a\u76ee\u5f55\n4. **\u751f\u6210\u56fe\u7247\u5f15\u7528**\uff1a\u6839\u636e\u73af\u5883\u53d8\u91cf `IMAGE_SERVER_HOST` \u51b3\u5b9a\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\u8fd8\u662f\u5b8c\u6574URL\n5. **\u8f6c\u6362 Markdown**\uff1a\u5c06 HTML \u8f6c\u6362\u4e3a Markdown\n\n## \u8f93\u51fa\u793a\u4f8b\n\n**\u8f93\u5165\u6587\u4ef6\uff1a** `report.docx`\uff08\u5305\u542b2\u5f20\u56fe\u7247\uff09\n\n**\u8f93\u51fa\u7ed3\u6784\uff1a**\n```\nreport.md\ndocx_images/\n  \u251c\u2500\u2500 report_image1_a3f7b8c9d1e2.png\n  \u2514\u2500\u2500 report_image2_f9e4d3c2b1a0.jpg\n```\n\n**report.md \u5185\u5bb9\uff08\u76f8\u5bf9\u8def\u5f84\u6a21\u5f0f\uff09\uff1a**\n```markdown\n# \u62a5\u544a\u6807\u9898\n\n\u8fd9\u662f\u62a5\u544a\u7684\u7b2c\u4e00\u6bb5\u6587\u5b57\u3002\n\n![\u56fe\u88681](docx_images/report_image1_a3f7b8c9d1e2.png)\n\n\u8fd9\u662f\u66f4\u591a\u5185\u5bb9\u3002\n\n![\u7167\u7247](docx_images/report_image2_f9e4d3c2b1a0.jpg)\n```\n\n**report.md \u5185\u5bb9\uff08\u914d\u7f6e\u56fe\u7247\u670d\u52a1\u5668\u540e\uff09\uff1a**\n```markdown\n# \u62a5\u544a\u6807\u9898\n\n\u8fd9\u662f\u62a5\u544a\u7684\u7b2c\u4e00\u6bb5\u6587\u5b57\u3002\n\n![\u56fe\u88681](https://cdn.example.com/docx_images/report_image1_a3f7b8c9d1e2.png)\n\n\u8fd9\u662f\u66f4\u591a\u5185\u5bb9\u3002\n\n![\u7167\u7247](https://cdn.example.com/docx_images/report_image2_f9e4d3c2b1a0.jpg)\n```\n\n## \u6ce8\u610f\u4e8b\u9879\n\n1. **\u76ee\u5f55\u521b\u5efa**\uff1a\u63d2\u4ef6\u4f1a\u81ea\u52a8\u521b\u5efa\u56fe\u7247\u8f93\u51fa\u76ee\u5f55\uff08\u5982\u679c\u4e0d\u5b58\u5728\uff09\n2. **\u6587\u4ef6\u547d\u540d**\uff1a\u56fe\u7247\u6587\u4ef6\u540d\u5305\u542bUUID\uff0812\u4f4d\uff09\uff0c\u786e\u4fdd\u552f\u4e00\u6027\uff0c\u907f\u514d\u51b2\u7a81\n3. **\u76f8\u5bf9\u8def\u5f84 vs \u5b8c\u6574URL**\uff1a\n   - \u672a\u8bbe\u7f6e `IMAGE_SERVER_HOST`\uff1a\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\uff08\u5982 `docx_images/file.png`\uff09\n   - \u8bbe\u7f6e\u4e86 `IMAGE_SERVER_HOST`\uff1a\u4f7f\u7528\u5b8c\u6574URL\uff08\u5982 `https://cdn.example.com/docx_images/file.png`\uff09\n4. **\u73af\u5883\u53d8\u91cf**\uff1a`IMAGE_SERVER_HOST` \u4f1a\u81ea\u52a8\u79fb\u9664\u672b\u5c3e\u7684\u659c\u6760\uff0c\u786e\u4fddURL\u683c\u5f0f\u6b63\u786e\n\n## \u4f9d\u8d56\u9879\n\n- `markitdown>=0.0.2`\n- `mammoth` - \u7528\u4e8e\u8bfb\u53d6 DOCX \u6587\u4ef6\n- `beautifulsoup4` - \u7528\u4e8e\u89e3\u6790 HTML\n- `markdownify` - \u7528\u4e8e\u5c06 HTML \u8f6c\u6362\u4e3a Markdown\n\n## \u8bb8\u53ef\u8bc1\n\nMIT License\n\n## \u8d21\u732e\n\n\u6b22\u8fce\u63d0\u4ea4 Issue \u548c Pull Request\uff01\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u5c06Word\u6587\u6863\u4e2d\u7684\u56fe\u7247\u63d0\u53d6\u5230\u76ee\u5f55\u4e2d\uff0c\u5e76\u5728Markdown\u4e2d\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\u5f15\u7528",
    "version": "0.3.0",
    "project_urls": {
        "Documentation": "https://github.com/microsoft/markitdown#readme",
        "Source": "https://github.com/microsoft/markitdown"
    },
    "split_keywords": [
        "docx",
        " image",
        " markitdown",
        " plugin"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8cd43b8a4e9e945aa11fc960825531a9a80c0e063d5f31c358ca09e1845e414c",
                "md5": "fa1e1d814fcc1daac8269181a6ee1091",
                "sha256": "101d5a8cd4debc0594c9433a767411ea074991fedcb3dfd0fd35246cc50baf40"
            },
            "downloads": -1,
            "filename": "markitdown_docx_image_plugin-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fa1e1d814fcc1daac8269181a6ee1091",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 8183,
            "upload_time": "2025-10-13T05:30:27",
            "upload_time_iso_8601": "2025-10-13T05:30:27.448826Z",
            "url": "https://files.pythonhosted.org/packages/8c/d4/3b8a4e9e945aa11fc960825531a9a80c0e063d5f31c358ca09e1845e414c/markitdown_docx_image_plugin-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dfbfbab35af41a77b8d164cb9457dc5108decc13a649e7fcd153e82e60ed68db",
                "md5": "29d883988a26d90ad853d94e5335af39",
                "sha256": "b4a25a4e89464c6748a2789abc603b384a9731b5a7bba34d59dfe08385ac77a2"
            },
            "downloads": -1,
            "filename": "markitdown_docx_image_plugin-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "29d883988a26d90ad853d94e5335af39",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 6633,
            "upload_time": "2025-10-13T05:30:29",
            "upload_time_iso_8601": "2025-10-13T05:30:29.107035Z",
            "url": "https://files.pythonhosted.org/packages/df/bf/bab35af41a77b8d164cb9457dc5108decc13a649e7fcd153e82e60ed68db/markitdown_docx_image_plugin-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-13 05:30:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "microsoft",
    "github_project": "markitdown#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "markitdown-docx-image-plugin"
}
        
Elapsed time: 1.18840s