Communitygithub.com

Conversion PDF → Markdown (MinerU)

Convertit un PDF (notamment des articles académiques) en Markdown propre avec MinerU — préserve l'ordre de lecture, les équations LaTeX, les tableaux et les figures, et s'exécute sur le GPU. À utiliser lorsque l'utilisateur demande de convertir ou extraire un PDF en markdown/texte.

Qu'est-ce que Conversion PDF → Markdown (MinerU) ?

Ce skill permet de convertir des PDFs, en particulier des articles académiques, en Markdown structuré grâce à l'outil MinerU (opendatalab/MinerU), réputé pour sa haute fidélité de rendu. Il préserve la hiérarchie des titres, les équations LaTeX en ligne (`$...$`), les figures et les tableaux (sous forme de HTML). Le pipeline backend s'exécute sur le GPU (CUDA), ce qui garantit des performances optimales. Le skill est conçu pour être invoqué directement lorsque l'utilisateur demande une conversion de PDF (ou autres formats comme docx, pptx, xlsx). Il évite l'utilisation du CLI natif de MinerU en raison de problèmes de stabilité sur Windows, et utilise à la place un wrapper Python dédié. En cas de problème, il propose des solutions de dépannage (réinstallation de torch, passage en mode OCR, etc.).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/pdf-to-markdown

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

PDF → Markdown (MinerU)

Convertit des PDFs en Markdown propre et structuré en utilisant MinerU (opendatalab/MinerU), le moteur open-source de plus haute fidélité pour les articles académiques. Exécute le pipeline backend sur le GPU (CUDA). La sortie conserve la hiérarchie des titres, les équations LaTeX en ligne ($...$), les figures et les tableaux (sous forme de HTML).

Quand l'utiliser

  • L'utilisateur demande de « convertir / extraire / transformer ce PDF en markdown (ou texte). »
  • Idéal pour : articles académiques — mises en page multi-colonnes, équations LaTeX, tableaux, références.
  • Gère également les images, .docx, .pptx, .xlsx (transmettez le fichier directement).

Comment exécuter

MinerU réside dans un environnement isolé dédié et est piloté via le wrapper convert.py fourni, qui appelle l'API Python de MinerU en processus.

N'utilisez pas le CLI mineru ici — dans la version 3.4.0, il lance un serveur API local qui retourne 502 Bad Gateway sur Windows. Le wrapper contourne ce problème.

"$MINERU_PYTHON" \
  "<SKILLS_DIR>/pdf-to-markdown/convert.py" \
  "<input.pdf>" "<output_dir>" --lang en
  • Arg 1 — fichier d'entrée (pdf/image/docx/pptx/xlsx).
  • Arg 2 — dossier de sortie.
  • --lang — langue pour l'OCR : en pour l'anglais, ch pour le chinois/mélangé (par défaut ch, qui gère aussi l'anglais). N'affecte que les pages scannées (OCR).
  • Le script affiche DONE -> <chemin du .md> en cas de succès.

Structure de sortie

<output_dir>/<name>/auto/<name>.md       # le markdown
<output_dir>/<name>/auto/images/          # figures extraites (référencées depuis le md)
<output_dir>/<name>/auto/<name>_*.json    # métadonnées de mise en page/contenu (ignorables)

Après la conversion

  1. Lisez le chemin DONE -> ...md affiché et signalez-le à l'utilisateur.
  2. Montrez éventuellement un court aperçu (titre + premiers titres).
  3. Indiquez où ont été écrites les images extraites.
  4. La qualité est généralement élevée : titres en #, équations en ligne en $...$, tableaux sous forme de HTML <table> (avec LaTeX dans les cellules). Si un PDF scanné sort déformé, réexécutez-le avec --method ocr.

Pré-vérification / configuration (uniquement si quelque chose manque)

  • Interpréteur avec MinerU (env MINERU_PYTHON, par défaut python).
  • Vérifiez CUDA : $MINERU_PYTHON -c "import torch; print(torch.cuda.is_available())" → True.
  • Les modèles sont pré-téléchargés dans ~/.cache/huggingface/hub/ (une seule fois).

Si l'environnement est manquant, recréez-le (installez uv d'abord si nécessaire) :

uv venv --python 3.12 "<votre-env>"
uv pip install --python "<votre-env>/Scripts/python.exe" torch torchvision --index-url https://download.pytorch.org/whl/cu124
uv pip install --python "<votre-env>/Scripts/python.exe" -U "mineru[core]"
"<votre-env>/Scripts/mineru-models-download.exe" -s huggingface -m pipeline

Définissez ensuite MINERU_PYTHON sur <votre-env>/Scripts/python.exe (Windows) ou <votre-env>/bin/python (macOS/Linux). Sous macOS/Linux, le binaire de téléchargement de modèles est mineru-models-download (sans suffixe .exe).

Dépannage

  • cuda.is_available() est False → réinstallez torch depuis l'index cu124 (voir configuration). Le pipeline s'exécute quand même sur le CPU si nécessaire, mais plus lentement.
  • Le téléchargement du modèle échoue / est lent → relancez mineru-models-download avec -s modelscope.
  • PDF scanné déformé → ajoutez --method ocr à l'appel de convert.py.
  • Backends vlm-engine / hybrid-engine → nécessitent vLLM/SGLang (Linux) ; ils renvoient 502 sur Windows. Utilisez le backend pipeline par défaut du wrapper.

Alternative légère (documents simples / Office)

Pour les fichiers non-académiques où la haute fidélité de mise en page n'est pas cruciale, MarkItDown de Microsoft est plus rapide et plus simple — mais il détruit les PDFs académiques à deux colonnes et les tableaux, donc préférez MinerU pour les articles :

"$MINERU_PYTHON" -m pip install markitdown
"$MINERU_PYTHON" -m markitdown "<input>" > out.md

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Peytontalismanic424/paper-share-skills

Validate and upload narrated paper videos to Bilibili with biliup. Handles required landscape-first/portrait-second submissions, series uploads, CST scheduling, diagnostics, dry-run validation, and durable upload receipts. Trigger on: "upload to bilibili", "bilibili upload", "发布到B站", "上传到B站".

Peytontalismanic424/paper-share-skills

Download the TeX source (e-print tar.gz) of an arXiv paper from an arXiv URL or bare ID, and unpack it into paper_src/. Use FIRST whenever a pipeline input is an arXiv link and the TeX source is preferred over the PDF (paper-to-beamer, paper-to-bilibili, paper-venue-discovery). Invoke with an arXiv URL (abs/pdf/e-print, arxiv.org or export.arxiv.org) or a bare ID like 2509.07996v4.

Peytontalismanic424/paper-share-skills

Convert Beamer PDF slides into a fail-closed narrated MP4 with page-aligned narration, TTS audio, cover, and upload metadata. Trigger on narrated slides, slide video, or paper video requests.

Peytontalismanic424/paper-share-skills

Automated pipeline: paper (PDF or TeX source) → SUSTech Beamer slides (11-section 论文分享 structure) → compiled PDF. When TeX source is available, skip MinerU and extract content directly from LaTeX. Use when the user asks to create Beamer slides from an academic paper, or says "论文分享", "paper to slides", "make beamer from paper". Invoke with an absolute or relative path to a PDF, .tar.gz TeX archive, .tex file, or an arXiv URL/ID (source TeX is downloaded first via skill://paper-download-arxiv-paper-source).

Peytontalismanic424/paper-share-skills

Orchestrate a paper PDF through MinerU, SUSTech Beamer slides, complete Chinese narration, landscape and portrait video, metadata gates, and Bilibili upload. Supports single-paper and batch slides, video, or bilibili phases. Trigger on full paper-to-Bilibili requests, PDF-to-video publication, and batch paper publishing.

Peytontalismanic424/paper-share-skills

Generate a deterministic 16:10 video-cover poster from a paper directory. Extracts paper metadata and figures and atomically produces poster.tex, poster.pdf, and poster.png. Use for paper-video covers, not conference posters.

Peytontalismanic424/paper-share-skills

Fix for undefined \setsource/\setdomains/\setpresenter/\setvenue commands when compiling SUSTech Beamer slides from the standard template. Copy the extended beamerthemesustech.sty from the sustech-slides-template repository.

Skills associés