'convertToPdfBeforeSignatureStepEvent', ]; } public function convertToPdfBeforeSignatureStepEvent(CompletedEvent $event): void { $entityWorkflow = $event->getSubject(); if (!$entityWorkflow instanceof EntityWorkflow) { return; } $tos = $event->getTransition()->getTos(); $workflow = $event->getWorkflow(); $metadataStore = $workflow->getMetadataStore(); foreach ($tos as $to) { $metadata = $metadataStore->getPlaceMetadata($to); if (array_key_exists('isSignature', $metadata) && 0 < count($metadata['isSignature'])) { $this->convertToPdf($entityWorkflow); return; } } } private function convertToPdf(EntityWorkflow $entityWorkflow): void { $storedObject = $this->entityWorkflowManager->getAssociatedStoredObject($entityWorkflow); if (null === $storedObject) { return; } if ('application/pdf' === $storedObject->getCurrentVersion()->getType()) { return; } $this->storedObjectToPdfConverter->addConvertedVersion($storedObject, $this->requestStack->getCurrentRequest()->getLocale(), 'pdf'); } }