fix: afficher le nom du signataire BAP même sans image de signature (fallback texte)

This commit is contained in:
Manus
2026-05-05 05:58:18 -04:00
parent 37cc9442da
commit 699e245cf0

View File

@@ -183,17 +183,20 @@ export async function drawBapCartouche(
});
// ── Signature ─────────────────────────────────────────────────────────────
if (data.signatureImageBytes && data.signatureName) {
if (data.signatureName) {
try {
const sigWidth = Math.min(rightColW - 10, 110);
const sigX = rightColX + (rightColW - sigWidth) / 2;
// Afficher l'image si disponible
if (data.signatureImageBytes) {
const mimeType = data.signatureMimeType || "image/png";
const embeddedSig =
mimeType === "image/png"
? await pdfDoc.embedPng(data.signatureImageBytes)
: await pdfDoc.embedJpg(data.signatureImageBytes);
const sigWidth = Math.min(rightColW - 10, 110);
const sigHeight = Math.round(sigWidth * 0.45);
const sigX = rightColX + (rightColW - sigWidth) / 2;
const sigY = zoneY + 35;
targetPage.drawImage(embeddedSig, {
@@ -202,15 +205,27 @@ export async function drawBapCartouche(
width: sigWidth,
height: sigHeight,
});
}
const nameW = fontNormal.widthOfTextAtSize(data.signatureName, 8);
// Toujours afficher le nom du signataire
const nameW = fontNormal.widthOfTextAtSize(data.signatureName, 9);
targetPage.drawText(data.signatureName, {
x: sigX + (sigWidth - nameW) / 2,
x: rightColX + (rightColW - nameW) / 2,
y: zoneY + 22,
size: 8,
size: 9,
font: fontNormal,
color: rgb(0.3, 0.3, 0.3),
color: rgb(0.1, 0.1, 0.4),
});
// Ligne de signature si pas d'image
if (!data.signatureImageBytes) {
targetPage.drawLine({
start: { x: rightColX + 10, y: zoneY + 35 },
end: { x: rightColX + rightColW - 10, y: zoneY + 35 },
thickness: 0.5,
color: rgb(0.5, 0.5, 0.5),
});
}
} catch (_) {
/* ignore signature errors */
}