#!/bin/bash # Check the version of openssl. if [[ `openssl version` < 'OpenSSL 0.9.8e' ]]; then echo "openssl is too old - must be version 0.9.8e or later." exit 1 fi # Set our Access Key Id, and Secret Access Key. readonly ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxx' readonly SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' # Downloads the next document from PDF Alchemy. # Set the DOCUMENT_ID variable on success. function downloadNext { DATE=`date --rfc-2822 --utc` REQUEST="/$ACCESS_KEY_ID/outqueue/next" CLEARTEXT=`echo -e "GET\n$ACCESS_KEY_ID\n$DATE\n$REQUEST"` SIGNATURE=`echo -n "$CLEARTEXT" | openssl dgst -sha1 -hmac "$SECRET_ACCESS_KEY" -binary | openssl base64` OUT=`wget -S "--header=Date: $DATE" "--header=X-PDF-Alchemy-Signature: $SIGNATURE" "http://www.pdfalchemy.com$REQUEST" 2>&1` RC="$?" if [ "$RC" -eq 0 ]; then echo "$OUT" | grep '[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\} \(.*\) - .* saved \[[0-9]\+/[0-9]\+\]$' DOCUMENT_ID=`echo "$OUT" | sed -ne 's/ *X-PDF-Alchemy-ID: \(.*\)/\1/gp'` else echo "$OUT" # Print all of the error output. fi return "$RC" } # Removes documentId from the PDF Alchemy outqueue. function deleteDocument { # $1 => documentId. DATE=`date --rfc-2822 --utc` REQUEST="/$ACCESS_KEY_ID/outqueue/$1" CLEARTEXT=`echo -e "DELETE\n$ACCESS_KEY_ID\n$DATE\n$REQUEST"` SIGNATURE=`echo -n "$CLEARTEXT" | openssl dgst -sha1 -hmac "$SECRET_ACCESS_KEY" -binary | openssl base64` curl -X 'DELETE' -H "Date: $DATE" -H "X-PDF-Alchemy-Signature: $SIGNATURE" "http://www.pdfalchemy.com$REQUEST" } RC=0 while [ "$RC" -eq 0 ]; do downloadNext RC="$?" if [ "$RC" -eq 0 ]; then deleteDocument "$DOCUMENT_ID" fi done exit "$RC"