Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- def create_tex(src_dir)
- jpegs = Dir["#{src_dir}/*.jpg"].sort_by { |f| File.stat(f).mtime }
- STDERR.puts(jpegs)
- cwd = File.basename(Dir.pwd)
- File.open("#{cwd}.tex", "w") do |tex|
- tex.write(<<~END_OF_TEX_HEADER)
- \\documentclass{article}
- \\usepackage{pdfpages}
- \\begin{document}
- END_OF_TEX_HEADER
- jpegs.each do |page|
- page =
- tex.write("\\includepdf{\"#{page[0,page.size-4]}\".jpg\}\n")
- end
- tex.write(<<~END_OF_TEX_FOOTER)
- \\end{document}
- END_OF_TEX_FOOTER
- end
- "#{cwd}.tex"
- end
- def create_pdf(tex_file)
- STDERR.puts "file=#{tex_file}"
- exit_code = %x( pdflatex -interaction=batchmode #{tex_file} )
- STDERR.puts "exit code #{exit_code}"
- end
- def clean_up(work_dir)
- STDERR.puts "cleanup #{work_dir}"
- Dir.chdir work_dir
- Dir['*.log'].each {|f| File.delete f}
- Dir['*.aux'].each {|f| File.delete f}
- Dir['*.tex'].each {|f| File.delete f}
- end
- work_dir = Dir.pwd
- tex = create_tex(work_dir)
- pdf = create_pdf(tex)
- clean_up(work_dir)
Advertisement