From c4fbcc103af931fcd5829c6e28f3fb4c37f22d67 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Sat, 15 Nov 2025 10:46:54 +0200 Subject: [PATCH] autocorrect pdf --- lib/submissions/generate_result_attachments.rb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb index 934c86fc..e347d2ac 100644 --- a/lib/submissions/generate_result_attachments.rb +++ b/lib/submissions/generate_result_attachments.rb @@ -719,20 +719,30 @@ module Submissions begin pdf.sign(io, write_options: { validate: false }, **sign_params) - rescue HexaPDF::MalformedPDFError, NoMethodError => e + rescue HexaPDF::Error, NoMethodError => e Rollbar.error(e) if defined?(Rollbar) - pdf.sign(io, write_options: { validate: false, incremental: false }, **sign_params) + begin + pdf.sign(io, write_options: { validate: false, incremental: false }, **sign_params) + rescue HexaPDF::Error + pdf.validate(auto_correct: true) + pdf.sign(io, write_options: { validate: false, incremental: false }, **sign_params) + end end maybe_enable_ltv(io, sign_params) else begin pdf.write(io, incremental: true, validate: false) - rescue HexaPDF::MalformedPDFError, NoMethodError => e + rescue HexaPDF::Error, NoMethodError => e Rollbar.error(e) if defined?(Rollbar) - pdf.write(io, incremental: false, validate: false) + begin + pdf.write(io, incremental: false, validate: false) + rescue HexaPDF::Error + pdf.validate(auto_correct: true) + pdf.write(io, incremental: false, validate: false) + end end end