1 package SL::DB::Helper::PDF_A;
5 use parent qw(Exporter);
6 our @EXPORT = qw(create_pdf_a_print_options);
11 sub _create_xmp_data {
12 my ($self, %params) = @_;
15 my $template = Template->new({
19 PLUGIN_BASE => 'SL::Template::Plugin',
24 $template->process(SL::System::Process::exe_dir() . '/templates/pdf/pdf_a_metadata.xmp', \%params, \$output) || croak $template->error;
29 sub create_pdf_a_print_options {
32 require SL::DB::Language;
34 my $language_code = $self->can('language_id') && $self->language_id ? SL::DB::Language->load_cached($self->language_id)->template_code : undef;
35 $language_code ||= 'de';
36 my $pdf_language = $language_code =~ m{deutsch|german|^de$}i ? 'de-DE'
37 : $language_code =~ m{englisch|english|^en$}i ? 'en-US'
41 $::instance_conf->get_company
44 my $timestamp = DateTime->now_local->strftime('%Y-%m-%dT%H:%M:%S%z');
45 $timestamp =~ s{(..)$}{:$1};
49 xmp => _create_xmp_data(
52 pdf_a_conformance => 'B',
54 timestamp => $timestamp, # 2019-11-05T15:26:20+01:00
56 title => $self->displayable_name,
58 language => $pdf_language,