Need helping making tiff2pdf command recursive


Recommended Posts

I have hundreds of multipage .tiff files that I would like to convert into .pdf files. I found a useful linux command to do that - tiff2pdf.

The problem is, it doesn't work recursively. Can anyone give me a hand in making a simple script that can recursively convert my tiff files to pdf? I can do bash scripts but I'm not go with "for each do x".

A sample directory structure is

Folder001

--001 truck.tiff

--001 cruse 1.tiff

--001 tank.tiff

Folder002

--002 truck.tiff

--002 banana.tiff

--002 city.tiff

--002 something.tiff

And I know the format of the command needs to be


tiff2pdf -o "FILENAME.PDF" "FILENAME.TIF"
[/CODE]

Any pointers on how I can do this or would anyone be willing to help me?

Make a PHP or Bash script to output all the filenames and then construct the command list from that.

e.g.

find . -name "*.tif"

Will get you a list of the tif files, then you just need to use Bash commands to change the extension from .tif to .pdf and put 2 arrays through the command


#!/bin/bash

# This is a simple script to search a directory for TIFF images and convert them to PDF.
# It relies on find, tiff2pdf, and egrep to work its magic.
# Files ending in '.tiff' or '.tif' (in any case) are supported.

if [ $# -ne 1 ]; then
echo "Syntax: $0 DIRECTORY_CONTAINING_TIFFS_TO_CONVERT"
exit 1
fi

dir_to_search=$1
if [ ! -d "$dir_to_search" ]; then
echo "ERROR! Invalid search directory \"$dir_to_search\""
exit 1
fi

tiffs=$(find "$dir_to_search" -type f -regextype 'posix-egrep' -iregex '.*\.tif[f]{0,1}$' -exec echo -n {}';' \;)

OLDIFS="$IFS"
IFS=';'

for tiff in $tiffs; do
echo $tiff | grep -qsiE '\.tif$'
if [ $? -eq 0 ]; then
extension_length=3
else
extension_length=4
fi
pdf="${tiff:0:$((${#tiff}-$extension_length))}pdf"

echo "tiff2pdf -o \"$pdf\" \"$tiff\""
tiff2pdf -o "$pdf" "$tiff"
done

IFS="$OLDIFS"

exit 0
[/CODE]

This topic is now closed to further replies.
  • Posts

    • KDE Plasma 6.5 will notify you if your printer's ink is low by David Uzondu This week, the KDE team continued work on the upcoming Plasma 6.5.0 as well as Plasma 6.4's fourth bug fix release, 6.4.4. As usual, both Plasma versions saw several UI tweaks, bug fixes, and performance improvements. The most notable changes are discussed in this article. Let's start with Plasma 6.5. The desktop environment is getting a useful feature that tells you when your printer is low on ink. This works by having the system check the Common Unix Printing System, or CUPS, for marker levels after a print job is created or completed. CUPS stores attributes like marker-levels in its printers.conf file, and once a level is determined to be low, it triggers a marker-supply-low-warning that Plasma will now use to inform you. UI improvements scheduled for 6.5 include disabling key repeat for certain global shortcuts, like toggling Overview, to prevent rapid screen flashing that could be a seizure risk. There is a better "Someone started sharing this screen" notification that now appears only after a connection is fully established. You will also find standard KDE styling with the "Confirm deleting network connection" dialog, and more consistent spacing in the Global Menu widget. As for bug fixes in 6.5, a layout bug that caused visual overflow in the printer setup page has been corrected. An issue that stopped you from using the virtual keyboard in the Application Dashboard search field is fixed, and XDG portal-using apps can now request screencasts of new virtual outputs. Finally, the clipboard configuration window's size and position information has been moved from the state config file to the settings file. Moving on to 6.4.4, the hitboxes for desktop items now correctly match their visual styling. This means no more accidentally selecting an invisible box around a file. And when you mark a notification as low priority, it will now correctly appear in your history if it arrived during Do Not Disturb mode, so it does not just vanish. If you're experiencing a Kwin crash on login, particularly in a QEMU virtual machine, 6.4.4 has a fix for that on the way. Other bug fixes 6.4.4 brings include: A fix for the Global Menu widget's single-button mode for X11 users. The search field in the Wayland version of the Global Menu widget works again. An annoying bug in the Global Shortcuts XDG portal that made apps think they had no shortcuts has been resolved. Plasma Browser Integration's built-in Share feature has been repaired. Plasma 6.4.4 will drop on the 5th of next month. You can find more details on the official KDE Blog.
    • I just remember wondering how she was ever a bridge officer at all with all of her insufferable insecurities. I am sure she's a wonderful person in real life, but the character was poorly written. They even had to dedicate a whole episode to her being forced into taking the responsibility of leading cadets out of a problem of some sort as if to show how she is "growing" into her function. Never bridge officer material and I just rolled my eyes at her scenes and eventually stopped watching the show altogether, but also because of all the lead character's cry/whisper/talking that frustrated me.
    • Didnt know it was coded/decoded so my bad.
    • Why isn't it more widespread then? What about people that like PC gaming and don't want/don't own a console? MMO gaming/professional work with specific software aren't "edge cases".
  • Recent Achievements

    • Week One Done
      Homayoun Hotak earned a badge
      Week One Done
    • Dedicated
      Profit earned a badge
      Dedicated
    • One Month Later
      hhgygy earned a badge
      One Month Later
    • Week One Done
      hhgygy earned a badge
      Week One Done
    • One Year In
      NIKI77 earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      642
    2. 2
      ATLien_0
      241
    3. 3
      Xenon
      168
    4. 4
      neufuse
      149
    5. 5
      +FloatingFatMan
      123
  • Tell a friend

    Love Neowin? Tell a friend!