Apple Recommends Print to PDF Shortcut

I was just browsing the Mac App Store and found this “Master Your Mac” article on custom shortcuts: ‎The Power of Custom Shortcuts : Mac App Store Story. Looks like one of their favorites is @MacSparky’s ⌘P twice to print to PDF.

Good to know I’m in good company, that’s one of my favorites as well. :+1:

8 Likes

I’ve long used the double ⌘P short cut – but my second ⌘P is set to “Save PDF to DEVONthink”. Combined with configuring “Import” in DEVONthink preferences to “Select Group…” (which means “ask for a destination every time you import”) I can print PDFs of web pages directly to DEVONthink. Saves keystrokes over the standard DEVONthink import methods.

For “clutter free” imports to DEVONthink, I have a Keyboard Maestro macro that puts the Safari tab into Reader mode and then executes the double ⌘P shortcut.

FWIW, any other print-to-PDF destination can be given a distinct shortcut. E.g., ⌘P⌘Q for saving to Curiota for import to Curio.

4 Likes

Oooh.

Do you mind sharing this?

Very easy. This one happens to be executed from the my Safari palette, but could be reproduced anywhere. (I have a palette for every app I use frequently – the palette is always invoked by ^\ and is sensitive to the given app context. )

6 Likes

They really should build a faster Print to PDF into the OS. :slight_smile:

6 Likes

Yes, Safari 14’s File > Export to PDF is not very useful unless someone wants a (potentially very long) PDF unpaginated export of the entire current web page.

Actually I think there should be a “Save As…” option to save as PDF. I don’t know why Apple chose the current “Print to PDF” solution, it seems contrived. Licensing issues, maybe?

Just following up to say thanks again for this.

I’ve added a step: run an AppleScript that opens a window to the newly-added item in your Inbox. That way I can organize it right away.

My version’s below and the script is pasted below the screenshot. It works as a standalone macro, since I don’t use the double-cmd+p trick otherwise.

tell application id "DNtp"
	set inboxGroup to incoming group
	set newWindow to open window for record inboxGroup -- append "with force" to this line if you always want this to open in a new window
	set theRecords to inboxGroup's children
	repeat with eachRecord in theRecords
		if eachRecord's type is PDF document then
			set newWindow's selection to eachRecord as list
		end if
	end repeat
end tell

I believe that to follow Apple’s UI guidelines it should be under Export… and not Save as… The former is used to save in a different format while the latter is for saving to a different name or location.

Coming from a Microsoft Windows background I always thought that having it be Print to PDF was just trying to mimic what you have to do in Windows where the PDF generator behaves like a printer driver.

Actually, I should have mentioned that I have configured the DEVONthink preference for Import > Destination to “Select Group”, so that the group selector always opens when I import documents via the macro I posted, or any other method. The DEVONthink group selector is a list of all databases and groups, and also permits creating a new group.

FWIW, I’ve never in 15 years seen the point of the DEVONthink Global Inbox. Why stick things there only to move them someplace else later? Just put the document where it belongs in the first place :slight_smile:

1 Like

I’ll buy that. Mail and Safari have it that way, and it’s a lot better IMHO than digging through the Print menu.

macOS mimicking Windows? I must respectfully disagree.

Admittedly I’ve got no Mac experience between 1984 and 2004. In Windows (in the 1990’s) I installed Adobe Distiller or (if my job wouldn’t buy it) Ghostscript and it would appear as a printer. Then when I went to Macs in 2004 I was dismayed that creating a PDF was basically a footnote in the print dialog.

…kind of took all the fun out of it…

Makes sense! However, I organize files by adding a few tags from a menu (another KM macro) and then letting a smart rule do the work, so I need the DEVONthink window with a selected record instead of the group selector.