mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
3803671a81
When a PDF is used for both printing and displaying. It will most likely contain a crop box in order to hide print margins when displaying the PDF. Use Poppler's parameter to automatically use the crop box (visible box) rather than the media box (printable box) in order to remove those margins when drawing the PDF. See https://manpages.debian.org/testing/poppler-utils/pdftoppm.1.en.html
34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "test_helper"
|
|
require "database/setup"
|
|
|
|
require "active_storage/previewer/poppler_pdf_previewer"
|
|
|
|
class ActiveStorage::Previewer::PopplerPDFPreviewerTest < ActiveSupport::TestCase
|
|
test "previewing a PDF document" do
|
|
blob = create_file_blob(filename: "report.pdf", content_type: "application/pdf")
|
|
|
|
ActiveStorage::Previewer::PopplerPDFPreviewer.new(blob).preview do |attachable|
|
|
assert_equal "image/png", attachable[:content_type]
|
|
assert_equal "report.png", attachable[:filename]
|
|
|
|
image = MiniMagick::Image.read(attachable[:io])
|
|
assert_equal 612, image.width
|
|
assert_equal 792, image.height
|
|
end
|
|
end
|
|
|
|
test "previewing a cropped PDF document" do
|
|
blob = create_file_blob(filename: "cropped.pdf", content_type: "application/pdf")
|
|
|
|
ActiveStorage::Previewer::PopplerPDFPreviewer.new(blob).preview do |attachable|
|
|
assert_equal "image/png", attachable[:content_type]
|
|
assert_equal "cropped.png", attachable[:filename]
|
|
|
|
image = MiniMagick::Image.read(attachable[:io])
|
|
assert_equal 430, image.width
|
|
assert_equal 145, image.height
|
|
end
|
|
end
|
|
end
|