Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2894363

Browse files
committed
docsplit images cmd - added the ability to specify page number delimiter via command line option
1 parent 63642eb commit 2894363

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/docsplit/command_line.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ def parse_options
101101
opts.on('-r', '--rolling', 'generate images from each previous image') do |r|
102102
@options[:rolling] = true
103103
end
104+
opts.on('--delimiter [DELIMITER]', 'set page number delimiter (eg: _, -, -Page-...)') do |d|
105+
@options[:delimiter] = d.tr('^','')
106+
end
104107
opts.on_tail('-v', '--version', 'display docsplit version') do
105108
puts "Docsplit version #{Docsplit::VERSION}"
106109
exit

lib/docsplit/image_extractor.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ class ImageExtractor
77
MEMORY_ARGS = "-limit memory 256MiB -limit map 512MiB"
88
DEFAULT_FORMAT = :png
99
DEFAULT_DENSITY = '150'
10+
DEFAULT_PAGE_DELIMITER = "_"
1011

1112
# Extract a list of PDFs as rasterized page images, according to the
1213
# configuration in options.
@@ -41,7 +42,7 @@ def convert(pdf, size, format, previous=nil)
4142
raise ExtractionFailed, result if $? != 0
4243
else
4344
page_list(pages).each do |page|
44-
out_file = ESCAPE[File.join(directory, "#{basename}_#{page}.#{format}")]
45+
out_file = ESCAPE[File.join(directory, "#{basename}#{@delimiter}#{page}.#{format}")]
4546
cmd = "MAGICK_TMPDIR=#{tempdir} OMP_NUM_THREADS=2 gm convert +adjoin -define pdf:use-cropbox=true #{common} #{escaped_pdf}[#{page - 1}] #{out_file} 2>&1".chomp
4647
result = `#{cmd}`.chomp
4748
raise ExtractionFailed, result if $? != 0
@@ -63,6 +64,7 @@ def extract_options(options)
6364
@sizes = [options[:size]].flatten.compact
6465
@sizes = [nil] if @sizes.empty?
6566
@rolling = !!options[:rolling]
67+
@delimiter = options[:delimiter] || DEFAULT_PAGE_DELIMITER
6668
end
6769

6870
# If there's only one size requested, generate the images directly into

0 commit comments

Comments
 (0)