From ef80a2f23bb096326740512f5ee569e2a804874b Mon Sep 17 00:00:00 2001 From: hailin Date: Sat, 3 Jan 2026 23:45:44 -0800 Subject: [PATCH] fix(planting): remove signature button field before flatten to avoid gray background MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The signature button field has a gray background that covers the drawn signature image when the form is flattened. Now we remove the signature field after drawing the signature image to prevent this. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../src/infrastructure/pdf/pdf-generator.service.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts b/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts index e1b7f952..3800b0d5 100644 --- a/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts +++ b/backend/services/planting-service/src/infrastructure/pdf/pdf-generator.service.ts @@ -442,6 +442,16 @@ export class PdfGeneratorService { }); this.logger.log(`Signature drawn at (${signatureX}, ${signatureY}), size: ${scaledWidth}x${scaledHeight}`); + + // 移除签名按钮字段,避免扁平化时产生灰色背景 + try { + const form = pdfDoc.getForm(); + const signatureButton = form.getButton(FORM_FIELDS.SIGNATURE); + form.removeField(signatureButton); + this.logger.log('Signature button field removed'); + } catch { + // 忽略移除失败 + } } // 6. 最后统一扁平化所有表单字段