skip pdf reader errors

pull/112/head
Alex Turchyn 2 years ago
parent 907aaa9c30
commit 41d3eaf582

@ -17,6 +17,8 @@ module Templates
build_external_link_hash(page, annot).merge('page' => index) build_external_link_hash(page, annot).merge('page' => index)
end end
end end
rescue PDF::Reader::MalformedPDFError
[]
end end
def build_external_link_hash(page, annot) def build_external_link_hash(page, annot)

@ -42,7 +42,7 @@ module Templates
def generate_pdf_preview_images(attachment, data) def generate_pdf_preview_images(attachment, data)
ActiveStorage::Attachment.where(name: ATTACHMENT_NAME, record: attachment).destroy_all ActiveStorage::Attachment.where(name: ATTACHMENT_NAME, record: attachment).destroy_all
number_of_pages = PDF::Reader.new(StringIO.new(data)).pages.size - 1 number_of_pages = HexaPDF::Document.new(io: StringIO.new(data)).pages.size - 1
(0..number_of_pages).each do |page_number| (0..number_of_pages).each do |page_number|
page = Vips::Image.new_from_buffer(data, '', dpi: DPI, page: page_number) page = Vips::Image.new_from_buffer(data, '', dpi: DPI, page: page_number)

Loading…
Cancel
Save