56

Is there any way to batch convert .jpg files into single .pdf files?

1

5 Answers 5

76

Never forget your little fellow Automator, sitting in a hard drive near you :)

Launch Automator, create a new workflow. Now you need to add two actions:

  1. In the "Files & Folders" select Ask for Finder Items and drag it.

  2. In the PDFs Category, find "New PDF from Images" and also drag it.

Your workflow should look like this:

AutomatorFlow

Now read the options for each Action and customize accordingly. Investigate similar actions (especially in the Files & Folders category) and perhaps the Photos if you want to transform your images from JPG to something else. In fact, go ahead and look all over automator, there are a lot of interesting things there. :)

When you're satisfied with your Workflow, click "Run" on the top right corner. Watch the magic happens and depending upon the number of items and your CPU power, you might go grab a coffee/tea.

6
  • 2
    First sentence alone deserves the +1! Apr 23, 2011 at 16:44
  • 1
    it does only generate a single pdf which contains all pictures stored in the folder. How to create a single pdf of each picture file in the folder? Regards Chris
    – user19087
    Feb 21, 2012 at 23:09
  • 1
    @chris that would mean a new automator workflow, post a new question :) Apr 18, 2012 at 14:08
  • 3
    @user19087 brew install imagemagick and then do something like for pic in *.jpg; do convert $pic $pic.pdf; done
    – the
    Feb 6, 2015 at 16:41
  • 1
    automator you say... I did not know how useful that tool was until now!
    – Tcanarchy
    Sep 23, 2015 at 17:00
48

I'm more at ease with commandline tools myself. ImageMagick is great for this. You can install IM through Homebrew:

brew install imagemagick

After that you can simply do this in a Terminal:

convert *.jpg output.pdf

and if the resulting PDF is a bit too big you can try:

convert -quality 60 *.jpg output.pdf

Of course ImageMagick also works on other Unix systems, and even on cygwin.

5
  • 4
    In case PDF is generated with rotated images, use convert -quality 60 -rotate 90 *.jpg output.pdf
    – Ivan Mir
    Dec 30, 2016 at 15:58
  • 1
    This worked good for me but it does convert them all into one PDF file. If you want a PDF for every jpg you need to have a loop in your command like you suggested in the comment above.
    – ArchonOSX
    Mar 22, 2018 at 19:10
  • 4
    No need to install ImageMagick -- the built-in sips command can do this too. sips -s format pdf input-jpg-file-path --out output-pdf-file-path
    – calum_b
    Apr 3, 2021 at 21:28
  • I installed ImageMagick with Homebrew but there is no convert executable in my path. If avconvert works (which is in my path) I couldn't figure out how to make it do this conversion. But sips works for me. Jan 1, 2022 at 22:49
  • sips is really easy to use, thanks calum_b
    – Alex
    Mar 9, 2022 at 22:17
7

Do not install anything else. macOS already has what you need. Just use "sips"

In my example a file is called "file.jpg" and I want to convert it to "file.pdf". Accordingly, I enter this command here.

sips --setProperty format pdf file.jpg --out file.pdf

Now I want to convert all files with the extension ".jpg" to ".pdf". So what do i do I'm making a "for" loop that allows me to easily convert all files from ".jpg" to ".pdf". You can also change the "for" loop to convert png to jpg, for example. No problem at all, just replace formats.

for i in *.jpg; do sips --setProperty format pdf "${i}" --out "${i%.*}.pdf"; done

There is a hidden program in the image capture. This program enables you to convert images to PDF. Since the results are not nearly as good as I described with "sips" it is still there and it is good to know.

It doesn't really have a graphical user interface, but it can still be started via GUI. But I'll show it with the terminal

The program I'm talking about is

/System/Library/Image\ Capture/Automatic\ Tasks/MakePDF.app

Change to the directory with the terminal where the executable file is located.

cd /System/Library/Image\ Capture/Automatic\ Tasks/MakePDF.app/Contents/MacOS

Now we have to start it with our file that we have as a PDF

./MakePDF /Path/to/image

Note: I recommend that you select "Adjust to 8x10" on the shelf. This setting remains persistent. You don't have to keep changing it.

2
  • 3
    What does this do? Answers should be more than just code.
    – nohillside
    Apr 3, 2021 at 19:55
  • 6
    Consider something like: for f in *.[jJ][pP][gG]; do sips -s format pdf "${f}" -o "${f%.*}.pdf"; done Apr 3, 2021 at 20:09
3

I don't know if this works with .jpg files but the easiest way I know to convert text is to select print in the file menu, then in the lower left of the print menu select save as PDF.

-2

Preview has "Export as PDF" It's simple to use, and has always worked for me: Preview has "Export as PDF"

1
  • 1
    The OP explicitly asked "Is there any way to batch convert .jpg files into single .pdf files?" and you cannot batch covert to PDF in Preview! Apr 12, 2021 at 0:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .