Documentation · Documentation technique

Notes techniques sur la génération de PDF

Ce document décrit comment le plugin ADP Car Market Hub produit des fiches techniques de véhicules optimisées pour l'impression (« exposés ») que les visiteurs peuvent enregistrer au format PDF à l'aide de la boîte de dialogue d'impression de leur navigateur.

Quand utiliser ce document

Lisez ce document si vous devez :

  • Personnaliser les champs qui apparaissent sur la fiche technique imprimable.
  • Remplacer la source d'image du code QR par défaut par un générateur auto-hébergé.
  • Intégrer un lien vers la fiche technique imprimable d'un véhicule depuis une autre page ou un autre système.
  • Diagnostiquer des données manquantes ou incorrectes sur la page imprimable.

Aperçu

La fiche technique PDF est implémentée dans AS24CI\Pdf_Datasheet. Elle ne génère pas de PDF binaire sur le serveur. À la place, elle affiche une page HTML autonome (sans l'en-tête/pied de page du thème WordPress) optimisée pour la fonction Imprimer → Enregistrer au format PDF du navigateur.

Cette approche a deux implications pratiques :

  • Le rendu visuel est identique quel que soit le thème actif, car le thème est contourné.
  • Le navigateur gère le rendu réel du PDF. Le visiteur (ou l'équipe de la concession) crée le PDF localement ; le serveur ne fait que fournir du HTML.

Déclenchement et routage

  • La classe enregistre la variable de requête publique as24ci_pdf.
  • Une action template_redirect écoute cette variable. Lorsqu'elle est présente et correspond à une publication as24ci_car publiée, le plugin génère la fiche technique et appelle exit.
  • L'assistant d'URL Pdf_Datasheet::get_datasheet_url( $post_id ) renvoie home_url( '/?as24ci_pdf=<post_id>' ). Utilisez cet assistant plutôt que de construire l'URL manuellement.

Règles de validation :

  • Les ID non numériques ou égaux à zéro renvoient une erreur HTTP 400 avec un message traduit « ID de véhicule non valide ».
  • Une publication manquante, un type de publication incorrect ou un statut non publié renvoie une erreur HTTP 404 avec un message traduit « Véhicule non trouvé ou non publié ».

Sélection des champs

Pdf_Datasheet::get_allowed_fields() est la liste blanche autorisée des champs qui peuvent apparaître sur la fiche technique. Tout champ non présent dans cette liste est ignoré, de sorte que les administrateurs ne peuvent pas afficher de données non prises en charge en manipulant les réglages enregistrés.

Champs actuellement autorisés :

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

Les valeurs par défaut sont exposées par get_default_settings() et appliquées sur les réglages persistants du PDF Manager de l'utilisateur, afin que les champs nouvellement ajoutés reçoivent une valeur par défaut cohérente.

Code QR

Pdf_Datasheet::get_qr_image_url( $target_url ) renvoie une URL d'image de code QR à intégrer dans la fiche technique. L'implémentation par défaut demande un PNG de 180×180 au service public goqr.me (https://api.qrserver.com/v1/create-qr-code/).

Détails opérationnels :

  • Une sécurité défensive renvoie une chaîne vide si l'URL cible contient autoscout24. afin que le code QR ne pointe jamais accidentellement vers la page de détail de l'annonce source.
  • L'URL par défaut peut être filtrée via as24ci_pdf_qr_image_url. Renvoyez une chaîne vide pour masquer complètement l'image du code QR, ou renvoyez votre propre URL (auto-hébergée).

Instructions étape par étape

Pour prévisualiser une fiche technique imprimable pour un véhicule :

  1. Localisez le véhicule dans l'administration WordPress ou sur le front-end.
  2. Ouvrez l'URL https://example.com/?as24ci_pdf=<post_id> dans un navigateur.
  3. Utilisez la boîte de dialogue d'impression du navigateur (Ctrl/Cmd + P) pour enregistrer la page en PDF ou l'envoyer à une imprimante.

Pour personnaliser les champs visibles :

  1. Ouvrez l'onglet d'administration PDF Manager.
  2. Activez ou désactivez les champs et les options de marque (logo, entreprise, adresse, téléphone, etc.).
  3. Enregistrez. Les réglages sont conservés dans les options WordPress et fusionnés avec les valeurs par défaut lors du rendu.

Pour remplacer le fournisseur de code QR par un générateur auto-hébergé :

  1. Ajoutez un petit mu-plugin ou un extrait de code de thème qui se connecte à as24ci_pdf_qr_image_url, ignore la valeur par défaut et renvoie votre propre URL.
  2. Vérifiez le résultat dans un navigateur avant de déployer en production.

Référence de configuration

Liste blanche des champs : voir get_allowed_fields() ci-dessus. Valeurs par défaut : voir get_default_settings(). La liste exacte des options de marque et de mise en page exposées dans l'onglet d'administration du PDF Manager est gérée côté serveur. Vérifiez les options actuelles par rapport à l'écran du PDF Manager avant de publier la documentation destinée aux clients.

Notes opérationnelles

  • Le moteur de rendu génère du HTML complet (y compris <!DOCTYPE>, <head>, styles en ligne) et appelle exit pour empêcher WordPress d'envoyer son thème. Tout plugin qui se connecte tardivement dans template_redirect et écrit dans la réponse après ce point ne s'exécutera pas.
  • Étant donné que le PDF est généré côté client par le navigateur, la numérotation des pages, les en-têtes/pieds de page et la taille du papier dépendent des réglages d'impression du visiteur, et non du plugin.
  • L'image du code QR est récupérée par le navigateur du visiteur (ou par le moteur d'impression), et non par le serveur WordPress. Si votre politique de confidentialité interdit les requêtes tierces dans les documents imprimables, surchargez l'URL du code QR ou masquez-la complètement via le filtre.
  • Le point de terminaison renvoie une page HTML publique ; n'intégrez pas de données confidentielles dans les champs configurables.

Dépannage

  • Page 404 au lieu de la fiche technique — la publication n'existe pas, n'est pas du type de publication as24ci_car, ou n'est pas publish. Vérifiez l'ID et le statut de la publication.
  • 400 « ID de véhicule non valide » — la valeur transmise dans ?as24ci_pdf= n'était pas un entier positif.
  • Les styles du thème débordent sur la page imprimable — le moteur de rendu contourne le thème ; si vous voyez du balisage du thème, un autre plugin intercepte template_redirect avant celui-ci ou l'URL n'a pas été détectée. Vérifiez à nouveau le paramètre d'URL et videz les caches de page.
  • Le code QR est manquant ou cassé — l'URL cible contenait autoscout24. (masqué par sécurité) ou un filtre personnalisé a renvoyé une chaîne vide. Vérifiez l'URL cible et l'implémentation du filtre.
  • Le PDF diffère selon les navigateurs — le rendu de l'impression varie selon les navigateurs et les systèmes d'exploitation. Standardisez sur un seul navigateur/système d'exploitation pour les exports destinés aux clients si la précision de la mise en page est importante.

Documents connexes