diff options
Diffstat (limited to 'pdf2png')
-rwxr-xr-x | pdf2png | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/pdf2png b/pdf2png deleted file mode 100755 index 0676440..0000000 --- a/pdf2png +++ /dev/null @@ -1,226 +0,0 @@ -#!/bin/bash -############################################################################### -# # -# Martin Bruchanov, bruxy at regnet dot cz # -# # -# http://bruxy.regnet.cz/ # -# # -# Version: 1.2 (Fri Jul 20 13:17:18 CEST 2012) # -# # -############################################################################### - -## Defaults -DEFAULT_DPI=300 # default output dpi -GS_DPI=300 # gs will rasterize to this size, before resizing -UNSHARP_RADIUS=1.0 # bitmap enhancing with unsharp mask -COLORS=16777216 # default num. of colors, use 16, 256,... - -## Global variables -PAGE_START=1 -PAGE_STOP=1 -WIDTH=0 -HEIGHT=0 -PAGE=0 -ALL=0 - -## Help -print_help(){ - echo "PDF2PNG" - echo "Usage: " `basename $0` [OPTIONS] FILE - echo - echo "Options:" - echo " -h ... this help" - echo " -a ... convert all pages" - echo " -f N ... from page number N" - echo " -t N ... to page number N" - echo " -p N ... only page N (default N = 1)" - echo " -d N ... resolution in dpi (default N = $DEFAULT_DPI)" - echo " -x N ... bitmap width in pixel (if y not given, save aspect ratio)" - echo " -y N ... bitmap height in pixel (if x not given, save aspect ratio)" - echo " -u N ... unsharp radius (default N = $UNSHARP_RADIUS)" - echo " -c N ... number of colors (default N = $COLORS)" - echo -} - -# definition of color escape sequences for ANSI terminal -RED="\033[01;31m" -GREEN="\033[01;32m" - -color_echo(){ -# 1 -- color escape sequncy -# 2 -- string -# \033[0m -- reset color settings - echo -e "$1 $2 \033[0m" -} - - -test_return(){ -# 1 -- return code $? -# 2 -- description of operation -echo -e -n $2: -COL=40 -# move cursor to column $COL -echo -en "\033[${COL}G" -if [ $1 -eq 0 ] -then - color_echo $GREEN OK -else - color_echo $RED FALSE - exit 1 -fi -} - -if [ $# -lt 1 ] # print help -then - print_help - exit 1 -fi - -## Process CLI - -while getopts "af:t:d:hx:y:w:u:p:c:" name -do - case $name in - a) ALL=1 - ;; - f) PAGE_START=$OPTARG - ;; - t) PAGE_STOP=$OPTARG - ;; - p) PAGE=$OPTARG - ;; - d) DEFAULT_DPI=$OPTARG - ;; - x) WIDTH=$OPTARG - ;; - y) HEIGHT=$OPTARG - ;; - u) UNSHARP_RADIUS=$OPTARG - ;; - c) COLORS=$OPTARG - ;; - h) # help - print_help - exit 0 - ;; - \?) - echo "Invalid option!" - exit 1 - ;; - esac -done - - -shift $(($OPTIND - 1)); - -INPUT=$1 - -OUTPUT=$(basename $INPUT .pdf) - -echo "Input file: $INPUT" - -## Check all input parameters and set options - -if [ -z "$INPUT" ] -then - echo "No input file!" - exit 1 -fi - -# All pages processing - -MAX_PAGE=`pdfinfo "$INPUT" | grep Pages | awk '{ print $2}'` - -if [ -z $MAX_PAGE ]; then exit; fi - -if [ $ALL -eq 1 ] -then - PAGE_START=1 - PAGE_STOP=$MAX_PAGE -fi - -# Page range processing - -if [ $PAGE_START -gt 1 ] -then - if [ $PAGE_STOP -eq 1 ] - then - PAGE_STOP=$MAX_PAGE - fi -fi - -if [ $PAGE_STOP -gt 1 ] -then - if [ $PAGE_START -eq 1 ] - then - PAGE_START=1 - fi -fi - -if [ $PAGE -gt 0 ] -then - PAGE_START=$PAGE - PAGE_STOP=$PAGE -fi - -# Image size - -if [ $WIDTH -gt 0 ] -then - if [ $HEIGHT -gt 0 ] - then - RESIZE=${WIDTH}x${HEIGHT}\! - else - RESIZE=${WIDTH}x - fi - DEFAULT_DPI=0 -fi - -if [ $HEIGHT -gt 0 ] -then - if [ $WIDTH -gt 0 ] - then - RESIZE=${WIDTH}x${HEIGHT}\! - else - RESIZE=x${HEIGHT} - fi - DEFAULT_DPI=0 -fi - -if [ $DEFAULT_DPI -gt 0 ] -then - RESIZE=$(((DEFAULT_DPI*100)/GS_DPI))"%" -fi - -echo $RESIZE -#exit - -############################################################################## - -echo "Rasterizing pages from $PAGE_START to $PAGE_STOP." -echo "Output image size: $RESIZE" - -j=1 -N=$((PAGE_STOP-PAGE_START+1)) -for i in `seq $PAGE_START $PAGE_STOP` -do - i=`printf %04u $i` - echo "Processing page no. $i ($j/$N)" - TMP=/tmp/tmp-${i}.png - gs -q -sDEVICE=png16m -dBATCH -dNOPAUSE \ - -dFirstPage=$i -dLastPage=$i -r$GS_DPI \ - -sOutputFile=$TMP "$INPUT" > /dev/null 2>&1 - - test_return $? "GhostScript conversion" - - convert \ - -unsharp "$UNSHARP_RADIUS" \ - -resize "${RESIZE}" \ - -colors $COLORS +dither \ - $TMP png:${OUTPUT}_${i}.png - - rm -f $TMP - : $((j++)) -done - - |