autocorrect pdf

pull/402/head
Pete Matsyburka 1 month ago
parent 9333a1ba45
commit c4fbcc103a

@ -719,22 +719,32 @@ module Submissions
begin begin
pdf.sign(io, write_options: { validate: false }, **sign_params) 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) Rollbar.error(e) if defined?(Rollbar)
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) pdf.sign(io, write_options: { validate: false, incremental: false }, **sign_params)
end end
end
maybe_enable_ltv(io, sign_params) maybe_enable_ltv(io, sign_params)
else else
begin begin
pdf.write(io, incremental: true, validate: false) pdf.write(io, incremental: true, validate: false)
rescue HexaPDF::MalformedPDFError, NoMethodError => e rescue HexaPDF::Error, NoMethodError => e
Rollbar.error(e) if defined?(Rollbar) Rollbar.error(e) if defined?(Rollbar)
begin
pdf.write(io, incremental: false, validate: false)
rescue HexaPDF::Error
pdf.validate(auto_correct: true)
pdf.write(io, incremental: false, validate: false) pdf.write(io, incremental: false, validate: false)
end end
end end
end
ActiveStorage::Attachment.new( ActiveStorage::Attachment.new(
blob: ActiveStorage::Blob.create_and_upload!(io: io.tap(&:rewind), filename: "#{name}.pdf"), blob: ActiveStorage::Blob.create_and_upload!(io: io.tap(&:rewind), filename: "#{name}.pdf"),

Loading…
Cancel
Save