@@ -4,9 +4,9 @@ module Docsplit
44 # nicely sized images.
55 class ImageExtractor
66
7- DENSITY_ARG = "-density 150"
87 MEMORY_ARGS = "-limit memory 256MiB -limit map 512MiB"
98 DEFAULT_FORMAT = :png
9+ DEFAULT_DENSITY = '150'
1010
1111 # Extract a list of PDFs as rasterized page images, according to the
1212 # configuration in options.
@@ -34,7 +34,7 @@ def convert(pdf, size, format, previous=nil)
3434 pages = @pages || '1-' + Docsplit . extract_length ( pdf ) . to_s
3535 escaped_pdf = ESCAPE [ pdf ]
3636 FileUtils . mkdir_p ( directory ) unless File . exists? ( directory )
37- common = "#{ MEMORY_ARGS } #{ DENSITY_ARG } #{ resize_arg ( size ) } #{ quality_arg ( format ) } "
37+ common = "#{ MEMORY_ARGS } -density #{ @density } #{ resize_arg ( size ) } #{ quality_arg ( format ) } "
3838 if previous
3939 FileUtils . cp ( Dir [ directory_for ( previous ) + '/*' ] , directory )
4040 result = `MAGICK_TMPDIR=#{ tempdir } OMP_NUM_THREADS=2 gm mogrify #{ common } -unsharp 0x0.5+0.75 \" #{ directory } /*.#{ format } \" 2>&1` . chomp
@@ -58,6 +58,7 @@ def convert(pdf, size, format, previous=nil)
5858 def extract_options ( options )
5959 @output = options [ :output ] || '.'
6060 @pages = options [ :pages ]
61+ @density = options [ :density ] || DEFAULT_DENSITY
6162 @formats = [ options [ :format ] || DEFAULT_FORMAT ] . flatten
6263 @sizes = [ options [ :size ] ] . flatten . compact
6364 @sizes = [ nil ] if @sizes . empty?
0 commit comments