cómo crear un pdf de prueba
Cómo generar PDF de ejemplo para pruebas
El PDF con el que necesitas probar casi nunca es el PDF que tienes encima de la mesa. Ese es confidencial, tiene la longitud equivocada y no tiene ninguna de las propiedades que estás intentando romper.
01
Por qué un PDF inventado gana a uno real
Cualquiera que desarrolle software que toque PDF se choca pronto con el mismo muro: necesitas un archivo, y los archivos que tienes a mano son nóminas, contratos e informes de clientes. Adjuntar uno a un ticket de error es como los documentos confidenciales acaban para siempre en un gestor de incidencias. Usar uno como fixture de pruebas es como acaban subidos a un repositorio.
El otro problema es la forma. Los documentos reales tienen la longitud que les toca. Comprobar que una unión respetó el orden de las páginas requiere un documento cuyas páginas anuncien su propio número. Comprobar un límite de subida requiere un archivo justo por encima. Comprobar un visor paginado requiere 300 páginas, y nadie tiene por ahí un documento de 300 páginas que esté dispuesto a compartir.
Generar uno resuelve las dos cosas. El generador de aquí construye el documento en tu navegador y lo entrega directamente a una descarga: no se sube nada, y no hay nada que anonimizar después, porque nunca hubo nada real dentro.
02
Los ajustes, y para qué sirve cada uno
Son ocho y se corresponden con tareas de prueba concretas, no están de adorno.
- Título del documento
- Se convierte en tres cosas a la vez: los metadatos de título del PDF, el encabezado de la primera página y el nombre del archivo descargado. Útil cuando generas varios fixtures y necesitas distinguirlos dentro de una carpeta.
- Páginas
- De una a 500. El número al que recurrir cuando pruebas la paginación, el análisis de rangos de páginas o cómo se comporta un visor cuando un documento deja de caber cómodamente en memoria.
- Número de archivos
- De uno a 20, cada uno numerado y nombrado por separado. Es el ajuste para probar cualquier cosa que consuma varios documentos a la vez.
- Contenido de las páginas
- Nueve maquetaciones, que vemos más abajo. Es la que decide para qué sirve realmente el fixture.
- Tipografía
- Helvetica, Times o Courier: las tres familias integradas en todos los lectores de PDF, así que no se incrusta ninguna fuente y el archivo queda pequeño y portátil. Courier es la que hay que elegir cuando pruebas extracción de ancho fijo.
- Tamaño y orientación de página
- A4, Carta u Oficio, en vertical o apaisado. Merece la pena variarlo: una cantidad sorprendente de código que maneja PDF está escrita pensando en A4 y trata mal la Carta en silencio, y el apaisado rompe supuestos de maquetación que el vertical nunca destapa.
- Tamaño de archivo aproximado
- Cero para un archivo pequeño, o una cifra en megabytes para rellenar el documento hasta quedar cerca de ella.
- Números de página
- Un número impreso en cada página, activado por defecto. Déjalo puesto salvo que estés probando específicamente un documento sin ellos: no cuesta nada y es la forma más rápida de ver que algo ha salido mal.
03
Nueve tipos de página, y qué prueba cada uno
El ajuste de contenido no es cosmético. Cada maquetación existe porque una parte distinta de una cadena de tratamiento de PDF necesita otra cosa sobre la página.
- Números de página gigantes
- El valor por defecto, y el correcto. Un numeral enorme por página significa que un vistazo al resultado te dice si una unión, una división, un giro o un reordenamiento hicieron lo que pediste. Nada más deja un error de orden tan a la vista.
- Párrafos de lorem ipsum
- Texto corrido y denso. Lo que quieres para probar extracción de texto, indexación de búsqueda o cómo maneja un conversor el flujo de párrafos.
- Títulos, párrafos y viñetas
- Prosa estructurada. Es el fixture para PDF a Word y PDF a Markdown, porque tiene una jerarquía documental que el conversor debe deducir.
- Tablas de datos
- Filas y columnas con líneas. La entrada para probar PDF a Excel y PDF a CSV, donde lo difícil es recuperar los límites de las celdas a partir de lo que en realidad son solo líneas y texto colocado.
- Facturas
- Líneas de detalle, totales, direcciones y números de referencia. La forma realista para probar análisis de documentos, extracción de campos o cualquier cosa que presuma de leer facturas.
- Campos de formulario
- Casillas con etiqueta y pautas. Úsalo para el aplanado, la colocación de firmas y todo lo que tenga que dejar intacto el mobiliario del formulario.
- Gráficos de barras
- Gráficos vectoriales en vez de texto. Bueno para probar rasterización, salida de PDF a imagen y compresores que tratan los dibujos de forma distinta a las fotografías.
- Una mezcla de todo
- Va rotando entre las maquetaciones a lo largo del documento. Lo más parecido a un informe real, y la mejor opción única cuando quieres un fixture que ejercite casi todos los caminos.
- Páginas en blanco
- Vacías a propósito. Para probar el recuento de páginas, la detección de páginas en blanco y qué pasa cuando la extracción correctamente no encuentra nada.
04
Alcanzar un tamaño de archivo a propósito
El ajuste de tamaño aproximado es el que la gente viene buscando, normalmente porque algo les rechazó una subida y quieren averiguar el límite real en vez de fiarse del mensaje de error. Pon una cifra en megabytes y el generador rellena el documento con datos incompresibles hasta que el archivo aterriza cerca de ella.
Se llama aproximado por una razón honesta. El PDF es un formato comprimido, y el recuento final de bytes depende de cómo comprimen juntos el contenido y el relleno: el resultado suele quedar dentro de un margen de un pequeño porcentaje, no en el número exacto. Si necesitas probar un límite duro, genera un archivo justo por debajo y otro justo por encima y deja que la pareja acote el límite.
El otro uso es el rendimiento. Un documento de 40 MB es como averiguas si un visor va sirviendo las páginas o intenta cargar el archivo entero, y si una barra de progreso es real o decorativa.
05
Lotes, para todo lo que se coma más de un archivo
Pon el número de archivos por encima de uno y obtienes esa cantidad de documentos separados, cada uno con su propia numeración y su propio nombre, además de un ZIP con el lote entero. Es la forma más rápida de producir material de entrada para una unión: cinco archivos de cinco páginas numeradas cada uno, unidos, deberían darte 25 páginas contando del uno al cinco cinco veces — y cualquier desviación de eso salta a la vista de inmediato.
Sirve igual de bien para todo lo que tenga cola: comprobar que una subida múltiple los maneja todos, que un conversor por lotes no se deja el último elemento, o que un indicador de progreso cuenta bien.
06
Los mismos ajustes producen siempre el mismo documento
El texto de relleno se compone a partir de una lista fija de palabras y no de forma aleatoria, así que generar dos veces con ajustes idénticos te da un documento idéntico. Eso es lo que hace que el resultado sirva como fixture de pruebas subido al repositorio: se puede comparar, se le puede sacar una suma de verificación y se puede contrastar con una ejecución anterior sin que cada regeneración produzca diferencias espurias.
También significa que un informe de error puede decir "genera cinco páginas de contenido numerado en A4" y quien lo lea obtiene exactamente el archivo que tú tenías, lo cual es bastante mejor que adjuntar uno.