Documentación · Documentación técnica

Notas técnicas de la generación de PDF

Este documento describe cómo el plugin ADP Car Market Hub produce fichas técnicas de vehículos optimizadas para impresión ("exposés") que los visitantes pueden guardar como PDF utilizando el diálogo de impresión de su navegador.

Cuándo utilizar este documento

Lea este documento si necesita:

  • Personalizar qué campos aparecen en la ficha técnica imprimible.
  • Reemplazar la fuente de imagen del código QR predeterminada con un generador autoalojado.
  • Incrustar un enlace a la ficha técnica imprimible de un vehículo desde otra página o sistema.
  • Diagnosticar datos faltantes o incorrectos en la página imprimible.

Descripción general

La ficha técnica en PDF está implementada en AS24CI\Pdf_Datasheet. No genera un PDF binario en el servidor. En su lugar, renderiza una página HTML independiente (sin la cabecera/pie de página del tema WordPress) optimizada para la función Imprimir → Guardar como PDF del navegador.

Este enfoque tiene dos implicaciones prácticas:

  • El resultado se ve idéntico independientemente del tema activo, ya que se omite el tema.
  • El navegador gestiona la renderización real del PDF. El visitante (o el equipo del concesionario) crea el PDF localmente; el servidor solo sirve HTML.

Activación y enrutamiento

  • La clase registra la variable de consulta pública as24ci_pdf.
  • Una acción template_redirect escucha la variable. Cuando está presente y se resuelve en una entrada as24ci_car publicada, el plugin renderiza la ficha técnica y llama a exit.
  • El ayudante de URL Pdf_Datasheet::get_datasheet_url( $post_id ) devuelve home_url( '/?as24ci_pdf=<post_id>' ). Utilice este ayudante en lugar de construir la URL a mano.

Reglas de validación:

  • Los IDs no numéricos o iguales a cero devuelven HTTP 400 con un mensaje traducido "ID de vehículo no válido".
  • Si falta la entrada, el tipo de entrada es incorrecto o el estado no es publicado, devuelve HTTP 404 con un mensaje traducido "Vehículo no encontrado o no publicado".

Selección de campos

Pdf_Datasheet::get_allowed_fields() es la lista blanca autoritativa de campos que pueden aparecer en la ficha técnica. Cualquier campo que no esté en la lista se ignora, por lo que los administradores no pueden mostrar datos no compatibles manipulando los ajustes guardados.

Campos permitidos actualmente:

  • title, price, mileage, first_reg, fuel_type, transmission, power, body_type, exterior_color, doors, seats, emission_class, co2, consumption, equipment, description, location, contact.

Los valores predeterminados se exponen mediante get_default_settings() y se superponen a los ajustes persistidos del PDF Manager del usuario, de modo que los campos recién añadidos reciben un valor predeterminado sensato.

Código QR

Pdf_Datasheet::get_qr_image_url( $target_url ) devuelve una URL de imagen de código QR para incrustar en la ficha técnica. La implementación predeterminada solicita un PNG de 180×180 al servicio público goqr.me (https://api.qrserver.com/v1/create-qr-code/).

Detalles operativos:

  • Una protección defensiva devuelve una cadena vacía si la URL de destino contiene autoscout24. para que el código QR nunca enlace accidentalmente a la página de detalles del anuncio de origen.
  • La URL predeterminada se puede filtrar a través de as24ci_pdf_qr_image_url. Devuelva una cadena vacía para suprimir la imagen QR por completo, o devuelva su propia URL (autoalojada).

Instrucciones paso a paso

Para previsualizar una ficha técnica imprimible de un vehículo:

  1. Localice el vehículo en el administrador de WordPress o en el frontend.
  2. Abra la URL https://example.com/?as24ci_pdf=<post_id> en un navegador.
  3. Utilice el diálogo de impresión del navegador (Ctrl/Cmd + P) para guardar la página como PDF o enviarla a una impresora.

Para personalizar los campos visibles:

  1. Abra la pestaña de administración PDF Manager.
  2. Active o desactive los campos y las opciones de marca (logotipo, empresa, dirección, teléfono, etc.).
  3. Guarde. Los ajustes se persisten en las opciones de WordPress y se fusionan con los valores predeterminados en el momento de la renderización.

Para reemplazar el proveedor de QR con un generador autoalojado:

  1. Añada un pequeño mu-plugin o fragmento de código de tema que se enganche a as24ci_pdf_qr_image_url, ignore el valor predeterminado y devuelva su propia URL.
  2. Verifique el resultado en un navegador antes de implementarlo en producción.

Referencia de configuración

Lista blanca de campos: ver get_allowed_fields() arriba. Valores predeterminados: ver get_default_settings(). La lista exacta de opciones de marca y diseño expuestas en la pestaña de administración de PDF Manager se mantiene en el lado del servidor. Verifique las opciones actuales con la pantalla de PDF Manager antes de publicar documentación de cara al cliente.

Notas operativas

  • El renderizador genera HTML completo (incluyendo <!DOCTYPE>, <head>, estilos en línea) y llama a exit para evitar que WordPress envíe su tema. Cualquier plugin que se enganche tarde en template_redirect y escriba en la respuesta después de este punto no se ejecutará.
  • Debido a que el PDF se genera en el lado del cliente por el navegador, la numeración de páginas, los encabezados/pies de página y el tamaño del papel dependen de los ajustes de impresión del visitante, no del plugin.
  • La imagen QR es obtenida por el navegador del visitante (o por el motor de impresión), no por el servidor de WordPress. Si su política de privacidad prohíbe las solicitudes de terceros en documentos imprimibles, sobrescriba la URL del QR o suprímala por completo a través del filtro.
  • El endpoint devuelve una página HTML pública; no incruste datos confidenciales en los campos configurables.

Resolución de problemas

  • Página 404 en lugar de la ficha técnica — la entrada no existe, no es del tipo de entrada as24ci_car o no está publish. Verifique el ID y el estado de la entrada.
  • 400 "ID de vehículo no válido" — el valor pasado en ?as24ci_pdf= no era un número entero positivo.
  • Los estilos del tema se filtran en la página imprimible — el renderizador omite el tema; si ve marcado del tema, otro plugin está interceptando template_redirect antes que este o la URL no fue detectada. Vuelva a comprobar el parámetro de la URL y borre las cachés de página.
  • El código QR falta o está roto — la URL de destino contenía autoscout24. (suprimido por seguridad) o un filtro personalizado devolvió una cadena vacía. Verifique la URL de destino y la implementación del filtro.
  • El PDF difiere entre navegadores — la renderización de impresión varía según el navegador y el sistema operativo. Estandarice en un navegador/sistema operativo para las exportaciones de cara al cliente si el diseño preciso es importante.

Documentos relacionados