Guía · PDF → Markdown

PDF a Markdown, y por qué la estructura es una deducción

Todos los demás conversores de aquí leen una estructura que está de verdad en el archivo. Este no puede, porque un PDF no tiene ninguna.

Lo que guarda un PDF son caracteres en coordenadas con un tamaño de letra. «Esto es un título» no está ahí dentro. Así que la estructura se deduce, y saber cómo se deduce te dice exactamente cuándo va a estar mal.

Abrir el conversor

En un PDF no hay estructura

Un PDF es un formato de impresión. Su trabajo es poner el glifo correcto en el punto correcto de la página, y lo hace guardando fragmentos de texto con una posición y una tipografía. Nada en el archivo dice cuál de ellos es un título, dónde acaba un párrafo, o que seis líneas son una lista con viñetas.

Así que un documento de Word se convierte; un PDF se reconstruye. Todo lo que viene abajo es una heurística, y cada heurística tiene casos en los que falla. Por eso aparece un aviso encima de la salida en cada conversión de PDF, se vea raro algo o no.

Si tienes el .docx original, usa ese. Se convierte como debe, porque la estructura está de verdad ahí.

Cómo se encuentran los títulos

Primero se calcula el tamaño del texto de cuerpo: se cuentan los tamaños de letra de todas las líneas, ponderados por cuántos caracteres tiene cada una, y gana el más común. Ponderar por caracteres y no por líneas importa: una línea larga de párrafo dice más sobre cuál es el tamaño de cuerpo que una línea corta de título.

Después, una línea es un título si es claramente más grande que eso y es corta. La proporción de tamaño elige el nivel: 1,6× o más pasa a #, 1,35× pasa a ##, y 1,15× pasa a ###. Los niveles de título originales ya no están, así que lo que se conserva es solo la relación relativa: estos títulos son del mismo rango entre sí.

El límite de longitud son 120 caracteres, y está ahí por un fallo concreto: un documento cuyo párrafo de apertura va en letra grande no es un título, y el tamaño por sí solo no puede notar la diferencia. La longitud sí.

Esta es también la heurística que más se pierde cosas. Un documento que da estilo a sus títulos por grosor y no por tamaño — negrita al mismo tamaño que el cuerpo — no tiene ninguna señal de tamaño, y esos títulos salen como párrafos.

Elementos de página, párrafos y listas

Los encabezados y pies se descartan cuando son a la vez más pequeños que el texto de cuerpo y están dentro del 9% de la altura de la página desde el borde superior o inferior. Es proporcional en lugar de una medida fija, así que A4 y Carta se comportan igual. Si no, un número de página o un sello de «Confidencial» repetido en cada página interrumpiría el texto cuarenta veces.

Un salto de párrafo es un hueco vertical mayor que 1,8× el tamaño de letra de esa misma línea. Así es como un PDF expresa uno, porque no hay marca de párrafo que leer.

Las listas se detectan por sus primeros caracteres: un glifo de viñeta (•, ·, ▪, ◦, ‣, ∙) o un número de hasta tres cifras seguido de un punto o un paréntesis de cierre. Una lista dibujada de otra forma no es una lista para el conversor.

Palabras partidas entre líneas

Los PDF cortan palabras con guion al final de línea, y una unión ingenua te da «in- forme». Las líneas se vuelven a pegar en una sola palabra cuando una línea acaba en guion y la siguiente empieza en minúscula: esa combinación es un guion de salto de línea casi siempre.

Cuando la siguiente línea empieza en mayúscula, el guion se queda. «State-of-the-art» partido después de «state-» conserva su guion, y eso es correcto, porque ese sí es parte de la palabra.

Las líneas en chino, japonés y coreano se unen sin ningún espacio. Esas escrituras no separan palabras con espacios, así que meter uno en cada salto de línea abriría un hueco en medio de una frase.

Dos líneas en el PDF
The quarterly re-
port is attached.
Markdown
The quarterly report is attached.

Un PDF escaneado no te da nada

Si una página es una imagen de texto — un escaneo, una foto, un fax — no hay caracteres en el archivo que leer, solo un mapa de bits. El conversor lo dice y se detiene, en lugar de devolverte un documento vacío que parece un error.

Sacar texto de eso necesita OCR, que no es parte de esta herramienta. Un PDF en el que algunas páginas son escaneos y otras no convertirá las páginas reales y listará los números de las que salieron vacías, hasta seis.

Dos techos: 25 MB y 500 páginas. Los dos van de lo que una pestaña del navegador puede hacer sin bloquearse: un PDF se procesa aquí, en tu navegador, sin ningún servidor de por medio.

Qué hacer con las páginas a varias columnas

Los diseños a dos columnas son el caso más difícil y salen lo mejor posible. El texto se lee en el orden en que lo guarda el archivo, que en un PDF a dos columnas bien hecho es columna por columna, y en uno mal hecho alterna entre columnas línea a línea. No hay forma fiable de saber cuál tienes antes de leerlo.

Las tablas y las fórmulas son la misma historia: una tabla en un PDF son líneas dibujadas y texto en coordenadas, sin nada que la marque como tabla. Espera las celdas como líneas separadas, no como una tabla de barras.

Activa las marcas de página si vas a arreglar cosas a mano. Eso inserta un comentario HTML antes de cada página, así puedes encontrar de qué página venía un trozo destrozado y compararlo con el original.

Con marcas de página
…fin de la página uno.
Markdown
…fin de la página uno.

<!-- page 2 -->

## Method

Suelta el PDF y lee los avisos de encima de la salida: dicen qué páginas se saltaron y te recuerdan que la estructura se dedujo. Todo se lee en tu navegador; el archivo nunca se sube.

PDF → MD