Hi
I have a API which accepts base 64 encoded data and buld a document
The document is created, all normal variables is replaced except a image / signature
        $validated = $request->validate(
            [
                'documentFile' => ['required', 'string'], // document comes as base64 encoded
                'placeholders' => ['sometimes', 'nullable', 'array'],
                'as-link' => ['sometimes', 'nullable', 'bool'],
                'sender_signature' => ['sometimes', 'nullable', 'string'], // signature comes as base64 encoded
            ],
        );
        try {
            $inputValues = [];
            if ($request->get('placeholders')) {
                foreach ($request->get('placeholders') as $key => $value) {
                    if (is_array($value)) {
                        foreach ($value as $k => $v) {
                            $inputValues[$k] = $v;
                        }
                    }
                }
            }
            $filename = Str::uuid()->toString().'.docx';
            // Get the file data from the request
            $encoded_file = $request->input('documentFile');
            // Decode the file
            $decoded_file = base64_decode($encoded_file);
            if (! Storage::disk('users')->put($request->user()->id.'/one-off/'.$filename, $decoded_file)) {
                return $this->sendError('Failed to store document file');
            }
            $path = Storage::disk('users')->path($request->user()->id.'/one-off/'.$filename);
            
            $docx = new CreateDocxFromTemplate($path);
            PhpdocxUtilities::$_phpdocxConfig['license']['code'] = config('authorizedoc.phpdocx.license');
            if ($request->get('sender_signature')) {
                $sender_signature_image = new WordFragment($docx, 'document');
                $sender_signature_image->addImage([
                    'src' => $request->get('sender_signature'),
                    'scaling' => 50, // we scale to 50 because the image is 500px
                ]);
                $docx->replaceVariableByWordFragment(
                    variables: [
                        'sender_signature' => $sender_signature_image,
                    ],
                    options: [
                        'type' => 'inline',
                    ]
                );
            }
            // now… get all vars from the document
            $docx->setTemplateSymbol('${', '}');
            CreateDocxFromTemplate::$regExprVariableSymbols = '\$(?:\{|[^{$]*\>\{)[^}$]*\}';
            $documentVars = $docx->getTemplateVariables();
            // Some predefined placeholders
            $inputValues['document_id'] = Str::orderedUuid();
            $docx->replaceVariableByText($inputValues);
            $options = ['target' => 'header'];
            $docx->replaceVariableByText($inputValues, $options);
            $options = ['target' => 'footer'];
            $docx->replaceVariableByText($inputValues, $options);
            // Save the filled template
            $finalDocPath = Storage::disk('users')->path($request->user()->id.'/one-off/'.Str::orderedUuid().'.docx');
            $docx->createDocx($finalDocPath);
I have verified that the image is valid (by saving to a file and open it)
I have verified that the docx is valid by saving it and all 'normal' variables get replaced
I don't get any errors, but the image is not inserted
I'm sure it's something simple, but I cannot see where the issue is