PDF: paragraph breaks inserted inside sentences (prose corrupted at arbitrary line gaps)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Empieza reproduciendo el problema con la CLI de markitdown y el archivo vinculado MD-No-229.pdf; después, compara el Markdown generado con la prosa continua esperada. Revisa la ruta de conversión de PDF responsable del tratamiento de los párrafos y los saltos de línea; se considerará terminado cuando se eliminen los saltos de línea que dividen las líneas, pero se conserven los límites reales entre párrafos, incluidos los de los fragmentos proporcionados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment
- markitdown 0.1.4 (CLI:
markitdown input.pdf) - macOS 15 — reproduced on multiple official UAE government PDFs; deterministic per file
Summary
PDF → Markdown conversion inserts paragraph breaks inside sentences. The breaks do not correspond to paragraph boundaries in the source PDF — they fall at seemingly arbitrary line gaps within continuous prose. For LLM-ingestion use cases, paragraph breaks are semantic boundaries, so this silently corrupts the text.
Reproducer (official public PDF)
https://tax.gov.ae/Datafolder/Files/Pdf/2025/MD-No-229.pdf — UAE Ministerial Decision 229/2025, English column, 12 pages. Command: markitdown MD-No-229.pdf
Actual output (verbatim excerpts)
Title — a single running title in the PDF:
Qualifying Activities and Excluded Activities for the Purposes
of Federal Decree-Law No. 47 of 2022 on the Taxation of
Corporations and Businesses
Recital list — the continuation its amendments, starts lowercase, yet becomes its own paragraph:
– Federal Decree-Law No. 47 of 2022 on the Taxation of Corporations and Businesses, and
its amendments,
Body prose — break inserted mid-sentence before a parenthetical:
distribution, warehousing, logistics or inventory management functions constitutes 51%
(fifty one percent) or more of their Revenue for the relevant Tax Period.
Expected output
Line wraps collapsed to continuous prose; paragraph breaks only at real paragraph boundaries:
Qualifying Activities and Excluded Activities for the Purposes of Federal Decree-Law No. 47 of 2022 on the Taxation of Corporations and Businesses
– Federal Decree-Law No. 47 of 2022 on the Taxation of Corporations and Businesses, and its amendments,
distribution, warehousing, logistics or inventory management functions constitutes 51% (fifty one percent) or more of their Revenue for the relevant Tax Period.
Impact
Observed on 5+ official UAE MoF/FTA PDFs (legal texts). Splits are deterministic per file and land inside sentences every few paragraphs. Pipelines that treat the Markdown as structured text (LLM chunking, diffing, citation anchoring) inherit corrupted sentence boundaries.
Relationship to existing issues
Not covered by #83 (text relationship/indentation), #293 / #1419 (tables), or #45 (formulas) — this is plain prose in text-heavy PDFs; no tables, formulas, or markers involved.
Happy to provide additional sample files.
- Lenguaje dominante
- Python
- Estrellas
- 194k
- Forks
- 14.5k
- Merge medio
- 22 min
- PR fusionados (30 d)
- 5
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/markitdown
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 89/100
microsoft/markitdown#2834 ·
Los mantenedores suelen responder en 1 día
-
URL fetch sends default python-requests User-Agent, Wikipedia returns 403Posiblemente ocupada @sushan5140 la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
microsoft/markitdown#2820 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Valid Atom feeds with zero entries are rejected as an unknown feed typePosiblemente ocupada @pujitha24 la tomó hace 9 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/markitdown#2781 ·
Los mantenedores suelen responder en 1 día
-
DOCX: footnote references and back-links point to anchors that don't exist in the MarkdownPosiblemente ocupada @sun04222 la tomó hace 13 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
microsoft/markitdown#2743 ·
Los mantenedores suelen responder en 1 día
-
DOCX math: a delimiter with several arguments keeps only the last onePosiblemente ocupada @drakeo338 la tomó hace 35 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
microsoft/markitdown#2573 ·
Los mantenedores suelen responder en 1 día
Todos los issues de microsoft/markitdown
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
FinanceFlash/unvibecode#577 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/test type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Clodmony/starship-coop#70 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
punitarani/fli#270 ·
-
🐛 Bug 🔔 Pending processing
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
jumpserver/jumpserver#17980 ·
Los mantenedores suelen responder en 1 día
-
community enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día