View source
<?php
namespace Drupal\fillpdf_test\Plugin\BackendService;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\State\StateInterface;
use Drupal\fillpdf\Plugin\BackendServiceBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
class Test extends BackendServiceBase implements ContainerFactoryPluginInterface {
protected $state;
public function __construct(array $configuration, $plugin_id, $plugin_definition, StateInterface $state) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->configuration = $configuration;
$this->state = $state;
}
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('state'));
}
public function parse($pdf_content) {
return static::getParseResult();
}
public function merge($pdf_content, array $field_mappings, array $options) {
$this->state
->set('fillpdf_test.last_populated_metadata', [
'field_mapping' => $field_mappings,
'options' => $options,
]);
return file_get_contents(drupal_get_path('module', 'fillpdf_test') . '/files/fillpdf_test_v3.pdf');
}
public static function getParseResult() {
return [
0 => [
'name' => 'ImageField',
'value' => '',
'type' => 'Pushbutton',
],
1 => [
'name' => 'TestButton',
'value' => '',
'type' => 'Pushbutton',
],
2 => [
'name' => 'TextField1',
'value' => '',
'type' => 'Text',
],
3 => [
'name' => 'TextField2',
'value' => '',
'type' => 'Text',
],
4 => [
'name' => 'ImageField',
'value' => '',
'type' => 'Pushbutton',
],
];
}
}