========== 测试签名图片插入修复 V2 ========== 测试记录ID: 5c82d912-a31b-4c41-822b-ce5bf1fd74ed 修复内容: 确保签名占位符不显示文件路径,而是正确插入图片 修复要点: 1. prepareApostilleNotRequiredData()中将signature_image设为空字符串 2. 在Word生成后使用SignatureToWordConverter插入实际图片 3. 避免在模板中显示文件路径文本 预期流程: 1. 模板处理: {{signature_image}} → '' (空字符串) 2. 图片插入: {{signature_image}} → [实际签名图片] 3. 最终结果: 显示签名图片,不显示路径 开始生成免海牙文档... ❌ 免海牙文档生成失败 错误信息: SQL执行失败: SQLSTATE[42S22]: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Invalid column name 'AR'. SQL: SELECT TOP 1 fes.AR AS AR1, vg.AR AS AR2, gt.AR AS AR3, vg.Attachment, vg.BusinessLicenseDirection, fes.BusinessLicenseDirection AS BusinessLicenseDirection1, gt.BusinessLicenseDirection AS BusinessLicenseDirection2, gt.Attachment AS Attachment1, fes.Attachment AS Attachment2, bc.NameEng, bc.NameCN, bc.LegalPersonEmail, bc.RegNumber, bc.LegalPersonFullNamePinYin, bc.LegalPersonName, bc.RegisteredCapital, bc.RegisteredCapitalCurrency, bc.EstablishmentDate, bc.CityEngName, bc.RegAddressEng, bc.BusinessLicensePic, bc.LegalPersonIdNumberFrontPic, bc.LegalPersonIdNumberBackPic, bc.LegalPersonGender, bc.Nationality, bc.LegalPersonIdNumber, bc.LegalPersonIdStartDate, bc.LegalPersonIdEndDate, bc.LegalPersonCityEngName, bc.LegalPersonIDCardAddressEng, bc.LegalPersonBirthDate, bc.LegalSignedFile, bc.NameCN, vb.BusinessCode, vb.Code, vb.ID, vri.id AS VATRegInfoId, vb.PushTaxBureauStatus, vb.PushTaxBureauErrorMsg, ps.SpecsName, bc.LegalPersonIDCardType, bc.LegalPersonCountry, bc.LegalPersonAddressProvinceEn, bc.CompanyAddressLine1En, bc.CompanyAddressLine2En, bc.CompanyAddressPostcode, bc.CompanyAddressProvinceEn, bc.Country AS CompanyCountry, bu.F_Mobile as LinkedSalesContactPhone, vg.HagueType, fes.HagueType AS HagueType1, gt.HagueType AS HagueType2, bc.BusinessCRFile FROM VATRegInfo vri LEFT JOIN VATBusinessRecord vb ON vri.VATBusinessRecordID = vb.ID LEFT JOIN Base_Customer_Company bc ON bc.ID = vb.CompanyID LEFT JOIN ESVAT_Register vg ON vg.ID = vb.ID LEFT JOIN GeneralTemplateVAT gt ON gt.ID = vb.ID LEFT JOIN ESVAT_SubAgent fes ON fes.ID = vb.ID LEFT JOIN MS_OrderDetails mo ON vb.MSOrderDetailsID = mo.ID LEFT JOIN ProductSpecs ps ON ps.ID=mo.SKUSpecificationID LEFT JOIN Base_User bu ON bu.F_UserId = vb.BusinessCounselorId WHERE vb.Country = 'ES' AND vri.id = :id ========== 修复对比 ========== 修复前的问题: 1. prepareApostilleNotRequiredData()设置: signature_image = '/temp/signature.jpg' 2. WordTemplateProcessor.process()处理: {{signature_image}} → '/temp/signature.jpg' 3. SignatureToWordConverter.replaceImageInWord()尝试替换已有文本 4. 结果: 可能仍显示文件路径或插入失败 修复后的流程: 1. prepareApostilleNotRequiredData()设置: signature_image = '' (空字符串) 2. WordTemplateProcessor.process()处理: {{signature_image}} → '' (空占位符) 3. SignatureToWordConverter.replaceImageInWord()替换空占位符为图片 4. 结果: 正确显示签名图片 技术原理: - 空字符串占位符更容易被图片替换 - 避免文本和图片的冲突 - 确保占位符位置正确保留给图片 类似的成功案例: 营业执照翻译件中的二维码: 1. 模板数据中不包含二维码路径 2. 使用SignatureToWordConverter单独插入二维码图片 3. 结果: 正确显示二维码图片 ========== 测试完成 ==========