You are here

public function LegacyProviderPdfBackend::mergeStream in FillPDF 8.4

Populate a PDF file with field data.

Parameters

string $pdf_content: The PDF template the field values specified in the mapping should be merged into.

\Drupal\fillpdf\FieldMapping[] $field_mappings: An array of FieldMapping objects mapping PDF field keys to the values they should be replaced with. Example:

[
  'Foo' => new TextFieldMapping('bar'),
  'Foo2' => new TextFieldMapping('bar2'),
  'Image1' => new ImageFieldMapping(base64_encode(file_get_contents($image)), 'jpg'),
];

array $context: The request context as returned by FillPdfLinkManipulator::parseLink().

Return value

string|null The raw file contents of the new PDF, or NULL if merging failed. The caller has to handle saving or serving the file accordingly.

Overrides PdfBackendInterface::mergeStream

See also

\Drupal\fillpdf\Plugin\PdfBackendInterface::mergeFile()

File

modules/fillpdf_legacy/src/Plugin/PdfBackend/LegacyProviderPdfBackend.php, line 131

Class

LegacyProviderPdfBackend
Legacy provider PdfBackend plugin.

Namespace

Drupal\fillpdf_legacy\Plugin\PdfBackend

Code

public function mergeStream($pdf_content, array $field_mappings, array $context) {
  $template_file = file_save_data($pdf_content);
  return $this
    ->mergeFile($template_file);
}