summaryrefslogtreecommitdiff
path: root/pdf2png
diff options
context:
space:
mode:
Diffstat (limited to 'pdf2png')
-rwxr-xr-xpdf2png226
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
-
-