Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿Los campos rellenados de un PDF se imprimen vacíos? Compara valores, apariencia y visibilidad

Una respuesta visible, un valor guardado y texto imprimible son comprobaciones distintas. Cuatro ejemplos controlados muestran por qué una apariencia con bytes no basta.

Ilustración original: valores guardados, apariencia y visibilidad de impresión en campos de texto AcroForm sin firma.
Ilustración original: valores guardados, apariencia y visibilidad de impresión en campos de texto AcroForm sin firma. Watch at Ease

Para un campo de texto AcroForm normal, empieza por el archivo exacto guardado y compara valor almacenado, apariencia del widget y visibilidad de impresión. Una captura no demuestra las tres cosas.

Las instrucciones actuales de Adobe dicen que Document incluye formulario y datos; Form Fields only omite el formulario de fondo. Si desaparece el texto, cambiar a Document and Markups no completa el diagnóstico.

Localiza la salida que falla antes de editar

Registra nombre o hash, aplicación de rellenado, visor receptor y ajustes. Compara pantalla reabierta, vista previa y una página por la salida prevista. Un autor autorizado puede inspeccionar la visibilidad del campo en Acrobat; verlo no implica que se imprima.

El ejemplo base guardó ALPHA y lo mostró en ambas rutas. Quitar la marca Print mantuvo ALPHA en pantalla, pero eliminó el texto en nuestra ruta PostScript de impresión. Es un fallo de visibilidad, no prueba de pérdida del valor guardado.

Una apariencia no vacía puede estar desactualizada

Cambiamos /V a BETA conservando la apariencia ALPHA. Pantalla e impresión siguieron mostrando ALPHA. Los cuatro ejemplos mantuvieron el mismo flujo normal de 165 bytes; comprobar solo que /AP existe o tiene contenido no detectaría la discrepancia.

Si el fallo es de apariencia, pide al productor que la regenere desde valores correctos en una copia y vuelva a verificar. /NeedAppearances solicita regeneración al visor; no demuestra que un visor concreto haya dibujado bien. Las respuestas existentes ya explican este mecanismo.

Comprueba el árbol y la página

get_fields() de pypdf lee /AcroForm/Fields; /Annots de página expone widgets visibles. Las relaciones padre-hijo importan, sobre todo con campos repetidos. Un nombre igual no demuestra una relación correcta entre dos objetos desconectados.

En el ejemplo de árbol desconectado, el valor canónico estaba vacío mientras otro widget conservaba ALPHA. Pantalla e impresión parecían correctas. El productor debe reconciliar relaciones y valores antes de reparar: reconectar automáticamente puede ser insuficiente y los nombres repetidos requieren revisión.

Verifica según el resultado que necesitas

Para un formulario editable, reabre la salida y comprueba valores esperados, relaciones, texto visible e impresión prevista. Una copia estática exige revisar el contenido pintado y conservar el original editable cuando proceda. Aplanar una apariencia antigua puede fijar texto incorrecto en vez de corregirlo.

Son ejemplos controlados, no un diagnóstico de tu archivo. Usamos Python 3.12.14, pypdf 6.10.0 y ReportLab 4.4.9; pantalla con pdftoppm 26.05.0 e impresión con pdftops 24.02.0 más Ghostscript 10.02.1. No probamos interfaz Acrobat, impresoras físicas, firmas ni XFA dinámico; usa el procedimiento admitido por el emisor para esos formularios.

Ilustración original de resultados: cuatro ejemplos sintéticos conservan los mismos bytes de apariencia, pero sus valores y renderizados difieren.
Ilustración original de resultados: cuatro ejemplos sintéticos conservan los mismos bytes de apariencia, pero sus valores y renderizados difieren. Watch at Ease