Jak wsadowo łączyć pliki JPEG z folderów w pliki PDF

18

Mam około 500 folderów z obrazami w środku. Czy istnieje sposób, w jaki mogę wsadowo przekonwertować to, aby uzyskać pliki .pdf zawierające wszystkie obrazy w postaci stron?

EDYTOWAĆ:

Powinno być utworzonych 500 plików PDF, każdy o nazwie zawierającego folder i każdy zawierający obrazy jako strony.

Ska
źródło
3
jaki system operacyjny i chcesz narzędzie CLI lub GUI? Czy pliki są nazwane w rozsądny lub spójny sposób i czy kolejność jest ważna?
Journeyman Geek
Mac OS X, może to być dowolne narzędzie i posiadam Acrobat Pro, ale nie znajduję tej opcji. Pliki są uporządkowane alfabetycznie i chciałbym zachować tę kolejność. Dzięki
Ska

Odpowiedzi:

16

OS X ma wbudowane kilka narzędzi do automatyzacji przetwarzania obrazu i tworzenia plików PDF.

Wystarczy otworzyć Automator.app , utworzyć nową aplikację.

Automator.app

Zmień to, jak pokazano poniżej, przeciągając akcje z lewego panelu do prawego.

Krok pierwszy

  • Pobierz zawartość folderu z włączoną opcją Powtórz… pobierze wszystkie twoje pliki, nawet z podkatalogów.

  • Nowy plik PDF z obrazów utworzy jeden plik PDF na pulpicie, a każda strona składa się z jednego obrazu.

Zapisz app gdzieś (np pod / Applications lub na pulpicie). Nadaj mu odpowiednią nazwę, na przykład „Utwórz plik PDF z Image.app”. Następnie możesz przeciągnąć foldery na jego ikonę. Pozwól, aby przepływ pracy wykonał pracę za Ciebie.


Powyżej tworzy jeden plik PDF dla wszystkich obrazów. Jeśli chcesz mieć jeden dla każdego folderu, będzie to bardziej skomplikowane.

Po pierwsze, potrzebujesz akcji Dozuj elementy stopniowo . Zainstaluj to. Następnie ponownie otwórz Automator i utwórz nowy przepływ pracy ( nie aplikację).

Teraz, dla wygody, możesz pobrać przepływ pracy tutaj . Jeśli link się zepsuje, po prostu zmień go, jak pokazano poniżej:

Zrzut ekranu przepływu pracy

Lub w formie tekstowej:

  • Zdobądź wybrane przedmioty Findera
  • Wydawaj przedmioty przyrostowo (ten, który zainstalowaliśmy wcześniej)
  • Ustaw wartość zmiennej , aby zapamiętać folder, w którym się znajdujemy
  • Pobierz zawartość folderu , aby uzyskać obrazy
  • Nowy plik PDF z obrazów , aby utworzyć plik PDF. Tutaj weź zmienną z panelu „Zmienne” u dołu i przeciągnij ją do pola „Zapisz dane wyjściowe w…”. Dzięki temu plik PDF zostanie utworzony w folderze, do którego należy. Nie ma łatwego sposobu na zmianę nazwy pliku poza ustawieniem nazwy pliku statycznego. Możesz jednak dodać akcję Zmień nazwę elementów Findera, aby ją ustawić.
  • Pętla , aby rozpocząć od początku i uruchomić z następnym folderem. Możesz wyłączyć część, w której prosi o potwierdzenie.

Zapisz go jako przepływ pracy, a teraz oto, jak go wykonać. Wybierz foldery w Finderze.

Zrzut ekranu Findera

Następnie przejdź do Automator.app i kliknij Uruchom w prawym górnym rogu.


Z 500 folderami może to chwilę potrwać. Szczególnie w przypadku zdjęć w wysokiej rozdzielczości plik PDF może stać się ogromny. Ale możesz najpierw wypróbować mniejszą selekcję, a następnie pozwolić, aby przepływ pracy działał, aż się zakończy.

slhck
źródło
Niesamowite, jednak wszystkie obrazy są teraz w jednym pliku PDF. Czy można utworzyć osobny plik PDF dla każdego zawierającego folder? Nie wiedziałem nawet, co możesz zrobić z Automatorem, dzięki tonie!
Ska
@Ska Zobacz moją zaktualizowaną odpowiedź. Mam nadzieję, że to zadziała. W Automatorze staje się to trudne i można by pomyśleć o przejściu na AppleScript lub prosty skrypt Bash w połączeniu z AppleScript.
slhck
Nie martw się, zmienię ich nazwę później za pomocą skryptu bash. Czy jednak nie byłoby możliwe utworzenie aplikacji, która przekazałaby dane wyjściowe Get Folder Contents (nazwa folderu) i utworzyłaby z niego zmienną?
Ska
@Ska tak, tak ustawiasz zmienną, ale nie możesz użyć tej zmiennej w nazwie wyjściowej pliku PDF. Przynajmniej nie w łatwy sposób.
slhck
To niesamowity przepływ pracy. Dzięki za pomoc w tym. W zeszłym tygodniu odszyfrowałem pliki JPG każdego wydania National Geographic od samego początku i potrzebowałem sposobu na konwersję wszystkich 250 000 stron na pliki PDF, aby móc je OCR i umożliwić ich wyszukiwanie. Właśnie zaoszczędziłeś mi mnóstwo pracy fizycznej. Jedną ze zmian, które musiałem wprowadzić w skrypcie, było ustawienie limitu czasu dłuższego niż domyślne 0 minut. W przeciwnym razie utworzono tylko jeden plik PDF. Zrobiłem to z ręczną pętlą, ale to zbyt duże zaangażowanie w zautomatyzowany proces. Powiedziałem również, aby zapisać je w jednym folderze, aby
22

W systemie OS X

Dzięki Homebrew instalacja ImageMagick jest bardzo prosta:

brew install imagemagick

convert *.jpg output.pdf

a jeśli wynikowy plik PDF jest nieco za duży, możesz spróbować:

convert -quality 60 *.jpg output.pdf

Linux, Unix, Windows

Oczywiście ImageMagick można również zainstalować na innych systemach uniksowych, np. apt-get install imagemagickNa Debianie i Ubuntu. A nawet w systemie Windows za pośrednictwem GNU / Cygwin lub Chocolately .

finanse fifi
źródło
3
O wiele szybsze niż wiercenie się dzięki Preview!
DK_
1
+1 Myślę, że porównanie między tą a zaakceptowaną odpowiedzią naprawdę pokazuje moc narzędzi wiersza poleceń (a zwłaszcza imagemagick) w takiej sytuacji!
Bill Cheatham,
1
Jest to również możliwe w systemie Windows. Jeśli używasz chocolatey (menedżer pakietów dla systemu Windows) choco install imagemagick.tool:, a następnie postępuj zgodnie z poleceniami „przekonwertuj” @ KasperSouren.
Giscard Biamby,
2

W prawie każdym systemie, w którym działałoby to na najlepszym rozwiązaniu, może być ImageMagick . Dostępny w * nix, Mac i Windows, obsługuje zarówno symbole wieloznaczne (inaczej globbing nazw plików), jak i specyfikację listy (np. @ ImagesToProcess.txt) plików wejściowych, niektóre zaawansowane opcje specyfikacji plików, potężny wiersz poleceń itp.

płot
źródło
Wymagałoby to również GhostScript i mnie, które zajmowałyby się programowaniem z tym, kto wie, ile zarządzania zależnościami. Zakładam, że może istnieć proste narzędzie, które to robi. W końcu przypadek użycia jest raczej prosty.
Ska
Nie powinno to być takie trudne - o ile masz zainstalowane zarówno ImageMagick, jak i GhostScript, a ImageMagick może znaleźć GS, możesz po prostu użyć wiersza poleceń IM, który ułatwia pisanie skryptów. Zakłada się, że globowanie nazw plików będzie obsługiwać pliki we właściwej kolejności, ale jeśli nie, to i tak będzie bardziej złożone. Dla Windows, oto jedno przypomnienie zachęcając współpracy: stackoverflow.com/questions/3243361/... . Jednak druga odpowiedź jest lepsza dla komputerów Mac
płot
Dzięki za niesamowite wskazówki na temat komunikatorów internetowych, ogrodzenia. Codziennie uczysz się czegoś nowego. Jeśli chodzi o oryginalne pytanie, najpierw wypróbuję rozwiązanie slhck.
Ska
Jesteś bardzo mile widziany. Napisałem, nie zdając sobie sprawy z tego, że A) używasz Maca i B) Obsługa Ghostscript na Macach jest z jakiegoś powodu znacznie słabsza - a przynajmniej nie nadążała z Windowsem i * nix.
płot