diff --git a/lib/submissions/generate_combined_attachment.rb b/lib/submissions/generate_combined_attachment.rb index 4e996634..8e565a2b 100644 --- a/lib/submissions/generate_combined_attachment.rb +++ b/lib/submissions/generate_combined_attachment.rb @@ -23,15 +23,9 @@ module Submissions **Submissions::GenerateResultAttachments.build_signing_params(submitter, pkcs, tsa_url) } - begin - pdf.sign(io, **sign_params) - rescue HexaPDF::MalformedPDFError => e - Rollbar.error(e) if defined?(Rollbar) - - pdf.sign(io, write_options: { incremental: false }, **sign_params) - end + sign_pdf(io, pdf, sign_params) else - pdf.write(io, incremental: true, validate: false) + pdf.write(io, incremental: true, validate: true) end Submissions::GenerateResultAttachments.maybe_enable_ltv(io, sign_params) @@ -45,6 +39,20 @@ module Submissions ) end + def sign_pdf(io, pdf, sign_params) + pdf.sign(io, **sign_params) + rescue HexaPDF::MalformedPDFError => e + Rollbar.error(e) if defined?(Rollbar) + + pdf.sign(io, write_options: { incremental: false }, **sign_params) + rescue HexaPDF::Error => e + Rollbar.error(e) if defined?(Rollbar) + + pdf.validate(auto_correct: true) + + pdf.sign(io, write_options: { validate: false }, **sign_params) + end + def build_combined_pdf(submitter) pdfs_index = Submissions::GenerateResultAttachments.generate_pdfs(submitter)