Proyecto 03 — PDF On

Escanear, rellenar,
firmar, listo.

PDF On es un escáner y editor de PDF para el iPhone: el papel se convierte en un PDF limpio, los formularios se rellenan, también los fotografiados, la firma y la foto de carnet van a su sitio, y el DNI o el pasaporte quedan en una hoja a tamaño real. El reconocimiento de texto se ejecuta en el dispositivo. Sin cuenta, sin servidor, sin suscripción: un documento sale del teléfono solo cuando uno lo comparte por sí mismo.

Por Abbas Hoseiny·iOS·En el App Store

Un formulario llega como PDF o en papel y hay que rellenarlo, firmarlo y devolverlo hoy mismo, desde el móvil. Las apps de escaneo habituales piden para eso una cuenta o una suscripción, o suben los documentos a una nube. PDF On lo hace todo en el iPhone: escanear, rellenar, firmar, copiar el DNI, reconocer texto, compartir. La app es gratuita y está en el App Store.

PDF On, pantalla de inicio: escanear, fotos, cámara, archivo
PDF On: un formulario fotografiado se rellena, el texto queda en las casillas
PDF On: copia de DNI con anverso y reverso a tamaño real
Fig. 1 — la appInicio · Formulario · DNI

La pantalla de inicio ofrece escanear, fotos, cámara y archivo. Un formulario fotografiado se toca y se escribe encima, el texto queda dentro de la casilla. DNI y pasaporte van con anverso y reverso en una hoja a tamaño real.

Qué hace la app

Escanear, rellenar, conservar.

Escanear y crear PDF
Escanea documentos con detección automática de bordes, o haz una foto y deja que se enderece. PDF a partir de fotos, archivos y otros PDF; tamaño de página, disposición y calidad a elegir; sello de fecha; protección con contraseña.
Rellenar cualquier formulario
Toca un campo y escribe: el texto queda dentro de la casilla, sobre la línea. Funciona con formularios PDF reales y con fotografiados o escaneados. Nombre, dirección y teléfono aparecen como sugerencias sobre el teclado.
Firma y foto
Firma con el dedo o fotografía tu firma en papel; queda sobre la línea de firma. La foto de carnet va al recuadro detectado automáticamente.
DNI y pasaporte
Anverso y reverso en una hoja a tamaño real, con ampliación opcional, en color o en escala de grises, con líneas de corte y una marca de agua como «Copia para el casero».
Reconocer texto, sin conexión
El reconocimiento en el dispositivo hace que los escaneos se puedan buscar. Copia el texto, busca dentro del documento o expórtalo como documento de Word.
Leer y subrayar
Modo de lectura a pantalla completa con márgenes recortados. Subraya con un gesto en cuatro colores, añade notas, comparte los subrayados como lista. La app recuerda dónde te quedaste.
Gestionar páginas
Reordena, gira, recorta, endereza y elimina páginas. Combina PDF. Convierte archivos de Word, Excel, PowerPoint, Pages, Numbers, Keynote, texto y HTML a PDF.
Privado por diseño
Totalmente sin conexión. Sin cuenta, sin anuncios, sin rastreo. Bloqueo opcional con Face ID. Extensión de compartir: envía fotos y PDF desde otras apps a PDF On.
PDF On, modo de lectura con subrayados
PDF On: lista de todos los subrayados
PDF On: ordenar, recortar y combinar páginas
Fig. 2 — leer y ordenarLectura · Subrayados · Páginas

Modo de lectura a pantalla completa con subrayados en cuatro colores y una lista de todos ellos. Reordenar, girar, recortar y combinar páginas.

Tecnología

Cómo está construida la app

Solo frameworks de Apple, sin bibliotecas de terceros, sin red. Cada procesamiento se ejecuta fuera del hilo principal, cada guardado es una transacción.

1. Estructura

FrameworksSwift 6 con concurrencia estricta. Interfaz en SwiftUI con envoltorios UIKit donde PDFKit los necesita. Procesamiento en actores propios, nunca en el actor principal.
Sin redLa app no envía ni carga nada: sin analítica, sin cuenta, sin nube. La única excepción es la resolución de dirección para el sello de ubicación, y solo si está activado.
ErroresLos datos externos como PDF, imágenes y entradas nunca se desempaquetan a la fuerza. Un documento dañado produce un mensaje comprensible, no un cierre inesperado.

2. Documentos y almacenamiento

BorradoresUn sobre JSON versionado por borrador. Los borradores ilegibles quedan intactos en disco, los demás se cargan y se muestra el error.
ImágenesAl importar, solo la fecha EXIF de captura, sin datos GPS. Cada imagen se limita a 4000 píxeles, cada vista previa a 400; sin listas de imágenes completas en memoria.
GuardadoCopias de seguridad del PDF y de las capas más una marca de recuperación. Una operación interrumpida restaura PDF, identificadores de página e índice a la vez.

3. Formularios

Formularios realesLos campos de formulario PDF se manejan con PDFKit. Las fuentes proceden de los recursos originales para conservar la apariencia.
Formularios fotografiadosTocar una casilla, escribir: el texto se coloca dentro de la casilla sobre la línea, las marcas encajan, Intro salta al siguiente.
Escritor propioAl copiar páginas, PDFKit pierde los árboles de campos. Un escritor propio sobre CoreGraphics reconstruye las relaciones entre campos y widgets, conserva los grupos y escribe solo los objetos alcanzables, de modo que las páginas eliminadas no dejan nada oculto.

4. Reconocimiento de texto

En el dispositivoReconocimiento de texto con el framework Vision, modo preciso con corrección lingüística, sin internet. Los idiomas de reconocimiento se filtran según lo que admite cada iPhone.
Capa invisibleEl texto reconocido queda como capa de texto invisible sobre la página, con la misma escala y rotación. La página original nunca se convierte en imagen.
BibliotecaLos PDF existentes también se reconocen: rasterizado a 200 ppp solo para el reconocimiento, se conservan el árbol de formulario y los enlaces, y una capa propia anterior se sustituye.

5. Firma y DNI

FirmaDibujada en horizontal con PencilKit como PNG transparente, o desde papel: la tinta se extrae con un regulador de intensidad y se recorta con precisión de píxel.
DNITamaño ID-1 de 85,60 × 53,98 mm. «Lado a lado» solo se ofrece si ambas caras caben al 100 %; un aviso de impresión pide tamaño real para que la impresora no escale.
FotoSe detecta el recuadro de foto de una solicitud y la imagen se inserta a medida.

6. Compartir, atajos, bloqueo

CompartirUna extensión de compartir con App Group firmado acepta fotos y PDF de otras apps; la bandeja de entrada es atómica y las entregas duplicadas se reconocen.
AtajosTres App Intents para flujos en segundo plano, en todos los idiomas de la app.
BloqueoAutenticación del dispositivo con Face ID, márgenes de 0, 60 o 300 segundos y una pantalla de privacidad al cambiar de app.

7. Ficha técnica

RolConcepto, desarrollo, publicación y soporte
PlataformaiPhone, iOS 17 o posterior
TecnologíaSwift 6, SwiftUI y UIKit, PDFKit, Vision, PencilKit, CoreGraphics, App Intents
Idiomas46 idiomas en la app, con diseño completo de derecha a izquierda para árabe, persa y urdu
DistribuciónApp Store, gratuita, sin cuenta ni suscripción · sitio web de la app
CódigoPropietario y no publicado