Programowanie > Bash, skrypty powłoki

Masowa konwersja z formatu JPG do PDF

(1/2) > >>

:
Witam

Muszę przekonwertować ponad 1 mln skanów z formatu jpg do pdf.  Mam je zorganizowane w następujący sposób:


--- Kod: ---
├── images
│   ├── katalog1
│   │   ├── index.html
│   │   ├── Rok_2017
│   │   │   ├── index.html
│   │   │   ├── nr1
│   │   │   │   ├── index.html
│   │   │   │   ├── nr1-001.jpg
│   │   │   │   ├── nr1-zoom-001.jpg
│   │   │   │   ├── nr1-002.jpg
│   │   │   │   ├── nr1-zoom-002.jpg
│   │   │   │   ├── nr1-003.jpg
│   │   │   │   ├── nr1-zoom-003.jpg
│   │   │   ├── nr2
│   │   │   │   ├── index.html
│   │   │   │   ├── nr2-001.jpg
│   │   │   │   ├── nr2-zoom-001.jpg
│   │   │   │   ├── nr2-002.jpg
│   │   │   │   ├── nr2-zoom-002.jpg
│   │   │   │   ├── nr2-003.jpg
│   │   │   │   ├── nr2-zoom-003.jpg
│   │   ├── Rok_2018
│   │   │   ├── index.html
│   │   │   ├── nr1
│   │   │   │   ├── index.html
│   │   │   │   ├── nr1-001.jpg
│   │   │   │   ├── nr1-zoom-001.jpg
│   │   │   │   ├── nr1-002.jpg
│   │   │   │   ├── nr1-zoom-002.jpg
│   │   │   │   ├── nr1-003.jpg
│   │   │   │   ├── nr1-zoom-003.jpg
│   │   │   ├── nr2
│   │   │   │   ├── index.html
│   │   │   │   ├── nr2-001.jpg
│   │   │   │   ├── nr2-zoom-001.jpg
│   │   │   │   ├── nr2-002.jpg
│   │   │   │   ├── nr2-zoom-002.jpg
│   │   │   │   ├── nr2-003.jpg
│   │   │   │   ├── nr2-zoom-003.jpg
│   ├── katalog2
│   │   ├── index.html
│   │   ├── Rok_2017
│   │   │   ├── index.html
│   │   │   ├── nr1
│   │   │   │   ├── index.html
│   │   │   │   ├── nr1-001.jpg
│   │   │   │   ├── nr1-zoom-001.jpg
│   │   │   │   ├── nr1-002.jpg
│   │   │   │   ├── nr1-zoom-002.jpg
│   │   │   │   ├── nr1-003.jpg
│   │   │   │   ├── nr1-zoom-003.jpg
│   │   │   ├── nr2
│   │   │   │   ├── index.html
│   │   │   │   ├── nr2-001.jpg
│   │   │   │   ├── nr2-zoom-001.jpg
│   │   │   │   ├── nr2-002.jpg
│   │   │   │   ├── nr2-zoom-002.jpg
│   │   │   │   ├── nr2-003.jpg
│   │   │   │   ├── nr2-zoom-003.jpg
│   │   ├── Rok_2018
│   │   │   ├── index.html
│   │   │   ├── nr1
│   │   │   │   ├── index.html
│   │   │   │   ├── nr1-001.jpg
│   │   │   │   ├── nr1-zoom-001.jpg
│   │   │   │   ├── nr1-002.jpg
│   │   │   │   ├── nr1-zoom-002.jpg
│   │   │   │   ├── nr1-003.jpg
│   │   │   │   ├── nr1-zoom-003.jpg
│   │   │   ├── nr2
│   │   │   │   ├── index.html
│   │   │   │   ├── nr2-001.jpg
│   │   │   │   ├── nr2-zoom-001.jpg
│   │   │   │   ├── nr2-002.jpg
│   │   │   │   ├── nr2-zoom-002.jpg
│   │   │   │   ├── nr2-003.jpg
│   │   │   │   ├── nr2-zoom-003.jpg

--- Koniec kodu ---

Skany pochodzą z lat 2014-2019 i w każdym roczniku jest do  52 numerów. Zależy mi aby z plików zawierających w nazwie "zoom" wygenerować pdf-y o takiej samej nazwie co nazwy plików jpg. Znalazłem skrypt który (niedokładnie tak jakbym chciał) konwertuje ale muszę go uruchamiać ręcznie  w każdym z 52 numerów dla każdego rocznika. W takim tempie skończyłbym pewnie za rok :(.
Dlatego zastanawiam się czy moglibyście pomóc mi napisać skrypt który skonwertowałby cały zasób do nowej lokalizacji zachowując przy okazji obecną strukturę katalogów?

Myślałem o wykorzystaniu convert z ImageMagic

Za wszelką pomoc będę niezmiernie wdzięczny.

Pozdrawiam
mariuszad

Paweł Kraszewski:
Ale chcesz mieć 1 PDF na numer z wieloma stronami z kolejnymi JPG-ami, czy stricte 1JPG -> 1PDF?

:
1JPG-1PDF

Paweł Kraszewski:

--- Cytat:  link=topic=25667.msg137898#msg137898 date=1571994882 ---1JPG-1PDF

--- Koniec cytatu ---
Co mi do tego... :)


--- Kod: ---
#!/bin/bash

if [ "$1" -a -f "$1" ]; then
    KAT=$(dirname "$1")
    IMGNAME=$(basename "$1")
    OKAT="PDF${KAT#./images}"
    PDFNAME="${IMGNAME%jpg}pdf"
    mkdir -p "${OKAT}"
    img2pdf -o "${OKAT}/${PDFNAME}" "$1"
else
    if ! which img2pdf &>/dev/zero; then
        echo "Zainstaluj program img2pdf"
        exit 1
    fi
   
    if [ ! -d "images" ]; then
        echo "Uruchom w katalogu zawierającym podkatalog images!"
        exit 2
    fi
   
    find . -iname "*-zoom-*.jpg" -exec $0 "{}" \;
fi

--- Koniec kodu ---

Testuj na kopii. Powinien odtworzyć strukturę katalogów poniżej image w nowym podkatalogu PDF.

:
Wielkie dzięki. Zabieram się do testów

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej