Thanks for the report.

This fixes things for me. I'll release it next week.

Regards

Jeff
diff --git a/bin/gscan2pdf b/bin/gscan2pdf
index f2e8d492..d81a12d3 100755
--- a/bin/gscan2pdf
+++ b/bin/gscan2pdf
@@ -2757,6 +2757,7 @@ sub save_button_clicked_callback {
         }
         when ('ps') {
             $SETTING{ps_backend} = $windowi->get('ps-backend');
+            $logger->info("Selected '$SETTING{ps_backend}' as ps backend");
 
             # cd back to cwd to save
             chdir $SETTING{cwd};
diff --git a/lib/Gscan2pdf/Dialog/Save.pm b/lib/Gscan2pdf/Dialog/Save.pm
index 5ae26a31..c72cdb0d 100644
--- a/lib/Gscan2pdf/Dialog/Save.pm
+++ b/lib/Gscan2pdf/Dialog/Save.pm
@@ -580,7 +580,18 @@ sub add_image_type {
     my @ps_backend =
       @{ filter_table( \@backends, @{ $self->get('ps-backends') } ) };
     my $combops = Gscan2pdf::ComboBoxText->new_from_array(@ps_backend);
-    $combops->set_active_index( $self->get('ps-backend') );
+    $combops->signal_connect(
+        changed => sub {
+            my $ps_backend = $combops->get_active_index;
+            $self->set( 'ps-backend', $ps_backend );
+        }
+    );
+
+    # FIXME: this is defaulting to undef, despite the default being defined in
+    # the subclassing call
+    my $ps_backend = $self->get('ps-backend');
+    if ( not defined $ps_backend ) { $ps_backend = 'pdftops' }
+    $combops->set_active_index($ps_backend);
     $hboxps->pack_end( $combops, TRUE, TRUE, 0 );
 
     my @tiff_compression = (
diff --git a/lib/Gscan2pdf/Document.pm b/lib/Gscan2pdf/Document.pm
index 515c5164..47093ef2 100644
--- a/lib/Gscan2pdf/Document.pm
+++ b/lib/Gscan2pdf/Document.pm
@@ -3297,13 +3297,13 @@ sub _thread_save_pdf {
         _thread_throw_error(
             $self, $options{uuid}, $options{page}{uuid},
             'Save file', sprintf __('Caught error creating PDF %s: %s'),
-            $filename, $_
+            $filename,   $_
         );
         $error = TRUE;
     };
     if ($error) { return 1 }
 
-    if ( defined $options{metadata} ) {
+    if ( defined $options{metadata} and not defined $options{options}{ps} ) {
         my $metadata = prepare_output_metadata( 'PDF', $options{metadata} );
         $pdf->info( %{$metadata} );
     }
@@ -3357,8 +3357,9 @@ sub _thread_save_pdf {
         return if _encrypt_pdf( $self, $filename, %options );
     }
 
-    if ( defined $options{options}{set_timestamp}
-        and $options{options}{set_timestamp} )
+    if (    defined $options{options}{set_timestamp}
+        and $options{options}{set_timestamp}
+        and not defined $options{options}{ps} )
     {
         _set_timestamp( $self, $filename, $options{uuid},
             %{ $options{metadata} } );
@@ -4183,16 +4184,10 @@ sub _thread_save_tiff {
     }
     if ( defined $options{options}{ps} ) {
         $self->{message} = __('Converting to PS');
-
-        # Note: -a option causes tiff2ps to generate multiple output
-        # pages, one for each page in the input TIFF file.  Without it, it
-        # only generates output for the first page.
-        @cmd =
-          ( 'tiff2ps', '-a', $options{path}, '-O', $options{options}{ps} );
+        @cmd = ( 'tiff2ps', '-1', $options{path}, '-O', $options{options}{ps} );
         ( $status, undef, $error ) = exec_command( \@cmd, $options{pidfile} );
         if ( $status or $error ) {
             $logger->info($error);
 
 #########################
 
-- 
2.26.2

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to