fix pdf form flatten fields
This commit is contained in:
@@ -26,6 +26,8 @@ class TemplatesUploadsController < ApplicationController
|
|||||||
rescue StandardError => e
|
rescue StandardError => e
|
||||||
Rollbar.error(e) if defined?(Rollbar)
|
Rollbar.error(e) if defined?(Rollbar)
|
||||||
|
|
||||||
|
raise if Rails.env.local?
|
||||||
|
|
||||||
redirect_to root_path, alert: 'Unable to upload file'
|
redirect_to root_path, alert: 'Unable to upload file'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -383,6 +383,7 @@ module Submissions
|
|||||||
|
|
||||||
if flatten
|
if flatten
|
||||||
begin
|
begin
|
||||||
|
pdf.acro_form.create_appearances(force: true) if pdf.acro_form && pdf.acro_form[:NeedAppearances]
|
||||||
pdf.acro_form&.flatten
|
pdf.acro_form&.flatten
|
||||||
rescue StandardError => e
|
rescue StandardError => e
|
||||||
Rollbar.error(e) if defined?(Rollbar)
|
Rollbar.error(e) if defined?(Rollbar)
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ module Templates
|
|||||||
pdf = HexaPDF::Document.new(io: StringIO.new(data))
|
pdf = HexaPDF::Document.new(io: StringIO.new(data))
|
||||||
number_of_pages = pdf.pages.size
|
number_of_pages = pdf.pages.size
|
||||||
|
|
||||||
data = maybe_flatten_form(data, pdf, attachment)
|
data = maybe_flatten_form(data, pdf)
|
||||||
|
|
||||||
attachment.metadata['pdf'] ||= {}
|
attachment.metadata['pdf'] ||= {}
|
||||||
attachment.metadata['pdf']['number_of_pages'] = number_of_pages
|
attachment.metadata['pdf']['number_of_pages'] = number_of_pages
|
||||||
@@ -74,15 +74,15 @@ module Templates
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def maybe_flatten_form(data, pdf, attachment)
|
def maybe_flatten_form(data, pdf)
|
||||||
return data if data.size > MAX_FLATTEN_FILE_SIZE
|
return data if data.size > MAX_FLATTEN_FILE_SIZE
|
||||||
return data if pdf.acro_form.blank?
|
return data if pdf.acro_form.blank?
|
||||||
return data if attachment.record.account.account_configs
|
|
||||||
.find_or_initialize_by(key: AccountConfig::FLATTEN_RESULT_PDF_KEY).value == false
|
|
||||||
|
|
||||||
io = StringIO.new
|
io = StringIO.new
|
||||||
|
|
||||||
pdf.acro_form&.flatten
|
pdf.acro_form.create_appearances(force: true) if pdf.acro_form[:NeedAppearances]
|
||||||
|
pdf.acro_form.flatten
|
||||||
|
|
||||||
pdf.write(io, incremental: false, validate: false)
|
pdf.write(io, incremental: false, validate: false)
|
||||||
|
|
||||||
io.string
|
io.string
|
||||||
|
|||||||
Reference in New Issue
Block a user