
Editor de PDF en el navegador que conserva la fuente embebida original del documento
Editar el texto de un PDF casi siempre se nota. Las herramientas habituales tapan el texto original con un rectángulo blanco y escriben encima, lo que funciona sobre un fondo liso y se delata en cuanto hay un color, un degradado o una fotografía detrás. Y aunque el tapado quede limpio, el texto nuevo sale en otra tipografía, porque la aplicación no tiene la fuente que el documento lleva dentro. FontiaPDF nace para que editar un PDF no se note: el resultado tiene que parecer el documento original, no un documento retocado.
La vara de medir fue Sejda, el editor de PDF en línea que mejor resuelve esto. Y esa promesa depende de resolver bien el problema de las fuentes, que es de donde viene el nombre. Cuando PDF.js abre un documento en el navegador, ya registra cada fuente embebida como una FontFace real. FontiaPDF reutiliza ese registro en lugar de adivinar: construye un índice por documento donde cada fuente guarda su nombre PostScript, su ascendente y descendente, su cobertura de caracteres y la pila CSS que la referencia. El recuadro de edición pinta con esa misma cara tipográfica, así que lo que se escribe se ve exactamente como lo que había. Al exportar, el backend vuelve a embeber la fuente y, si solo se usan unos pocos caracteres, genera un subconjunto, para que corregir una palabra no engorde el archivo con una tipografía entera.
El bug más difícil del proyecto apareció con una receta médica. El texto se leía "mlbdrce" donde decía "Nombre:" y "ETCTLA RAGIfLEAD" donde decía "RECETA MAGISTRAL". La causa no estaba en el editor: la tabla /ToUnicode del PDF, la que traduce códigos internos a caracteres, venía corrida una posición porque el programa que generó el archivo se saltó un carácter al escribirla. El documento se ve perfecto en pantalla porque el visor dibuja por índice de glifo, pero cualquier extractor de texto del mundo lee basura, ya que todos parten de esa misma tabla. La solución fue dejar de confiar en ella: el editor recorre la lista de operadores de la página y pinta por código de glifo, igual que hace el canvas, y reserva el Unicode solo para lo que de verdad lo necesita, que es buscar, editar y exportar. Como efecto secundario, las fuentes simbólicas dejaron de caer a tipografías de sustitución.
La otra decisión de fondo es cómo desaparece el texto que se reemplaza. En vez de taparlo, FontiaPDF lo borra del content stream, la estructura interna donde el PDF describe cada operación de dibujo. De eso se encarga un script de Python sobre pikepdf que el backend invoca como subproceso, junto con los de extracción de fuentes, subconjunto, compresión, desencriptado y manipulación de imágenes. El texto anterior deja de existir en el archivo: no queda oculto detrás de una forma blanca ni aparece si alguien inspecciona el documento. Cuando el borrado no es posible, el sistema avisa y recurre al tapado muestreando el color real del papel, en lugar de asumir que es blanco.
Sobre esa base el editor creció hasta ser una herramienta completa: añadir texto nuevo, buscar y reemplazar en todo el documento, rellenar formularios AcroForm, rotar y eliminar páginas, insertar y manipular las imágenes que ya trae el PDF, firmar dibujando o escribiendo, resaltar y dibujar formas, abrir documentos protegidos con contraseña y proteger el exportado. Se sumó también una compresión que reduce el peso sin rasterizar: el texto sigue siendo texto, seleccionable y nítido, en lugar de convertirse en una imagen como hacen muchos compresores.
El producto es comercial y se sostiene solo. Hay un plan gratuito sin registro con un número limitado de exportaciones al día, y tres opciones de pago a través de Freemius: un pase de siete días, una suscripción mensual y una anual, con la licencia activa en un dispositivo a la vez. La distribución se apoya en una extensión para Chrome y Firefox que es deliberadamente mínima: no procesa PDF ni lee el contenido de las páginas, solo lleva al editor desde la barra de herramientas o desde el clic derecho sobre un enlace. Pide un único permiso, sin acceso a pestañas ni a los sitios visitados, lo que además acelera la revisión en ambas tiendas.
Los archivos se procesan en el servidor y se eliminan a los sesenta minutos; no se usan para entrenar modelos ni hay cookies de analítica de terceros. Todo corre sobre un VPS propio detrás de Nginx y Cloudflare, sin depender de ningún proveedor de PaaS, con despliegue automático desde GitHub Actions.
El cambio de nombre no fue una decisión de marca sino una reacción. Dos días después de lanzar RetypePDF, un tercero registró el dominio retypepdf.com y publicó allí un editor de PDF de planteamiento casi idéntico. La primera alternativa, RewritePDF, ya estaba ocupada por un producto activo. La segunda, RetextPDF, llegó a aplicarse en todo el código antes de frenarla, y por un motivo que no era estético: está a una sílaba del nombre anterior, y un buscador que corrigiera «retext» por «retype» habría entregado el tráfico al clon justo cuando la marca nueva todavía no tiene señales propias. FontiaPDF se eligió después de revisar disponibilidad de dominios y registros de marca, y porque era el único candidato que nombraba la ventaja real del producto: la fuente que se conserva.