Lo molesto de esto es que un CSV no tiene páginas. Es una cuadrícula sin límites, mientras que un PDF es una pila de rectángulos fijos. Toda conversión tiene que decidir dónde cortar, y todas las herramientas que lo hacen mal toman la misma decisión: cortar donde se acaba el papel y dejar que las columnas restantes se caigan por el borde derecho.
Así que la pregunta útil no es "cómo convierto", ya que casi cualquier cosa generará un archivo, sino qué columnas y qué filas van realmente al PDF. Responde eso primero y la conversión es trivial.
Antes de convertir: reduce el archivo
Un PDF de 40.000 filas no es un documento, es un error con tamaño de archivo. Nadie abre la página 612. Si el destinatario necesita todas las filas, envíale el CSV.
El PDF es el formato correcto cuando el resultado está pensado para leerse y no para procesarse, lo que significa que debería ser:
- Filtrado. Las filas relevantes para este destinatario, no toda la exportación.
- Estrecho. De seis a diez columnas caben con claridad en una página A4 horizontal. Quince no, con ningún tamaño de letra que una persona vaya a leer.
- Resumido, muchas veces. Un GROUP BY que convierte 40.000 filas en 30 suele ser el documento que realmente se quería.
Hacer esto antes de la conversión es toda la diferencia entre un informe útil y 600 páginas de cuadrícula cortada.
Orientación y ancho de columna
Dos ajustes deciden si el resultado se lee bien, y ambos vienen mal por defecto.
Horizontal, siempre, salvo que el archivo tenga menos de cinco columnas. En vertical, un A4 admite unas seis columnas estrechas; en horizontal, diez.
Ajustar al ancho, no a un porcentaje. Todas las hojas de cálculo lo tienen y casi nadie lo encuentra: en Excel está en Diseño de página → Ajustar área de impresión → Ancho: 1 página. Sin eso, las columnas de la once en adelante se imprimen en su propio grupo de páginas después de la última fila, y así es como acabas con un PDF de 40 páginas para una tabla de 12.
Después, dos cosas que conviene configurar una sola vez:
- Repetir la fila de encabezado en cada página. Excel lo llama Imprimir títulos → Repetir filas en extremo superior. Una tabla cuyo encabezado aparece solo en la primera página es ilegible desde la segunda.
- Activar las líneas de cuadrícula. Al imprimir vienen desactivadas, y una tabla ancha sin ellas es muy difícil de seguir en horizontal.
Las vías, según la situación
Desde una hoja de cálculo, en el escritorio
Abre el CSV, aplica los ajustes anteriores y luego Imprimir → Guardar como PDF. Es el resultado de mejor aspecto de todos los métodos aquí descritos, y el único en el que puedes poner un título y números de página sin escribir código.
Eso sí, ojo con la importación: al abrir un CSV, Excel convierte todo lo que parezca una fecha, y un PDF es un registro permanente de ese error. Una columna de ID de pedido que llega como 43831 era 2020-01-01 en el archivo. Importa como texto si los datos incluyen ID, ceros a la izquierda o números largos.
Desde la línea de comandos
Para una tabla simple y correcta, sin decisiones de estilo:
csvlook data.csv | enscript -B -f Courier8 -o - | ps2pdf - out.pdf
Más práctico, si quieres controlar el diseño, es pasar por HTML. Todos los sistemas tienen un navegador sin interfaz y los navegadores paginan tablas de maravilla:
csvtomd data.csv > table.md
pandoc table.md -o out.pdf
La ventaja de la vía HTML es que @page { size: A4 landscape } y thead { display: table-header-group } en una hoja de estilos te dan justo las dos cosas que las hojas de cálculo entierran en cuadros de diálogo: la orientación y los encabezados repetidos.
Desde el celular
Aquí es donde la conversión realmente surge: el archivo está en tu correo, la persona que lo necesita quiere algo que pueda leer en pantalla sin una app de hojas de cálculo, y no estás cerca de una laptop.
Lo importante es lo mismo que en todos lados: filtrar y reducir columnas antes de exportar. Un PDF del tamaño de un celular con cinco columnas y cuarenta filas es un buen entregable. Un PDF del archivo completo, no.
Convierte a PDF directamente, con las columnas y el estilo de la exportación elegidos en lugar de heredados. El editor visual de filtros o una consulta SQL reducen antes el archivo a las filas que vale la pena imprimir, que es el paso que decide si el PDF se puede leer.
Qué haceCuándo un PDF es la respuesta equivocada
Tres casos, que cubren la mayoría de las solicitudes.
"Para que lo puedan abrir sin Excel." Ya pueden: un CSV se abre en el Bloc de notas, TextEdit, cualquier navegador, Google Sheets, Numbers y todos los celulares. Si preocupa que se vea mal, la solución suele ser un archivo más estrecho, no otro formato.
"Para que no lo puedan modificar." Un PDF no es de solo lectura en ningún sentido que importe. Se edita con facilidad y se extrae con facilidad. Si el requisito es la integridad, la respuesta es una firma o una suma de verificación, no un formato de archivo.
"Para que puedan usar los datos." Un PDF es el peor contenedor posible para datos tabulares, y sacarlos de ahí es una tarea alrededor de la cual hay toda una industria. Si el destinatario va a hacer algo con los números, envía el CSV y, junto a él, un PDF de resumen.
Los casos genuinos para un PDF: algo que se va a imprimir, algo que se archiva con paginación fija, algo que se adjunta a un registro formal o algo cuyo diseño debe sobrevivir a un reenvío.
Que parezca un informe
Cuatro cosas, ordenadas por cuánto mejoran el resultado:
- Alinea los números a la derecha y el texto a la izquierda. Nada cambia tanto la legibilidad, y es un solo ajuste.
- Fija los decimales. Una columna que mezcla
1.5y1.4999999se ve descuidada y casi siempre es un artefacto de coma flotante, no precisión real. - Agrega encabezado y pie de página. Título, la fecha que cubren los datos (no la fecha en que imprimiste) y números de página.
- Di qué es el archivo. Una línea arriba: la fuente, el filtro aplicado, el número de filas. Seis meses después, eso marca la diferencia entre un documento y un misterio.
Cuando el archivo necesita arreglos antes de enviarse, sea una columna redondeada, un total calculado o filas eliminadas, las columnas de fórmulas lo resuelven en el celular. El resultado se guarda dentro del CSV, así que los números son los mismos con cualquier programa que lo imprima.
Qué haceGráficos en lugar de tablas
Vale la pena preguntarse antes de convertir nada: ¿el destinatario quiere las filas o la forma? Una tendencia de doce meses es una línea, y una tabla de doce meses es una línea peor que tarda más en leerse.
La mejor versión de este documento suele ser un gráfico en la primera página y la tabla resumida detrás. Es un trabajo de dos minutos en cualquier herramienta que produzca ambos, y bastante más útil que cualquiera de los dos por separado.