The Smile Blog, With News, Tips, Photos and Other Stuff That Makes Us Smile

Use Automator workflows with PDFpen

Posted 04/17/2014 by Greg

PDFpen 6.2 adds support for running Automator workflows from the script menu.

If you're not familiar with Automator, I'd recommend this blog post from David Sparks. It's a great example and can help you decide whether or not you'd like to learn more. Automator workflows are quite visual and more accessible to folks without a programming background than AppleScript. This post isn't meant to be a tutorial on Automator workflows. It's meant to give you an example of what you can do with one of PDFpen's newest features.

Automator already includes a number of actions which can be applied to PDFs and an even greater number of actions which can be applied to files, and your PDFs are also files. Let's dive in and create an action to apply a grid to a PDF and open it as a new document.

  1. Launch Automator, found in your Applications folder
  2. Choose File -> New
  3. Click Workflow and press Choose. Your PDF will serve as the input to your Automator workflow
  4. In the Actions tab under Library select PDFs
  5. Drag Add Grid to PDF Documents to the blank area to the right labeled Drag actions…
  6. Under Library, select Files & Folders
  7. Drag Open Finder Items to the actions panel
  8. If PDFpen is not your default PDF viewer, choose it from the Open with: popup
  9. Choose File -> Save…, name your workflow Add Grid and save it to the Desktop

Now, we need to move the script to the appropriate location.

  1. Hold the Option key and choose Go -> Library from the Finder menu
  2. Open the Application Scripts folder of Library
  3. Most likely, you only have one folder with PDFpen in its name. Move your script from the Desktop to that folder. If not, see the Note below.
  4. Quit and re-launch PDFpen
  5. Open a PDF to which you'd like to add a grid
  6. Choose Add Grid from the script menu
  7. Now, you have a new PDF with a grid

Hopefully, this gives you a flavor of the power of Automator workflows and inspires you to investigate how you might use them in concert with PDFpen to make your work easier.

If you have a great Automator workflow you'd like to share, please let us know.

If you purchased directly from Smile, the folders are named:

If you purchased from the Mac App Store, the folders are named:


Smileworthy: SuperDuper!

Posted 02/26/2014 by Greg

Given yesterday's release of OS X 10.9.2, this is a good time to tip our hat to SuperDuper! from Shirt Pocket.

SuperDuper! reliably creates bootable backups and offers thorough scripting and automation options.

Before I upgrade to a new version of OS X, I clone my startup disk using SuperDuper!

Yesterday, I cloned from one partition to another on an internal SSD, and it only took 36 minutes for 210 GB.

SuperDuper! is fast, reliable, and great at what it does.

If you need software to duplicate your startup disk for backup or for OS X upgrades, we strongly recommend SuperDuper!

SuperDuper! Icon

SuperDuper! is Smileworthy and is available for US $27.95.


PDFpenPro Wishes Mac Happy 30th Birthday

Posted 01/28/2014 by Greg

We are incredibly honored that PDFpenPro is included among the Amazing Apps celebrating Mac's 30th Birthday.

Happy Birthday, Mac, from Smile and PDFpenPro!

PDFpenPro in Happy Birthday, Mac Section on Mac App Store


SmileWorthy: CloudPull

Posted 01/27/2014 by Greg

We like to use Google Documents for online, real-time collaboration. We use it to take notes when we have meetings. We use it to edit product bullets. We use it to create spreadsheets when doing product planning. Generally, we're thrilled with Google Documents, but we use it for enough important stuff that we worry about our data.

Enter CloudPull from Golden Hill Software. CloudPull provides local, hourly backups of our Google Documents. I back up my local machine to both a Time Capsule and via CrashPlan, and with CloudPull all of our Google Documents are included in those backups as well. CloudPull is a great, straightforward solution to keeping local backups of Google Documents. It also includes support for backing up everything on your Google Drive, Gmail, and Google Contacts.

CloudPull is a wonderful piece of software, and it offers a great deal of peace of mind for its reasonable $24.99 price tag.

CloudPull is truly Smileworthy.


Using TextExpander to Get Your Location

Posted 01/06/2014 by Greg

We've received several requests lately to add a macro for location in GPS coordinates to TextExpander. We're not sure we want to do that, as it could reuslt in a request to access your location data appearing in an unexpected context, perhaps as a result of an unintended snippet expansion (read: typo).

We're not able to build every requested feature into TextExpander, but there's quite a lot you can do given TextExpander's support for AppleScript. Here's an example of how you can add this feature to TextExpander:

1. Download Location Helper for AppleScript from the App Store
2. Launch Location Helper once so that you're prompted to allow it to access your location
3. Create a new TextExpander snippet
4. Set the Content: popup, above the snippet editor, to: AppleScript
5. Set the content of the snippet to:

tell application "Location Helper"
	set listCoords to get location coordinates
	return (item 1 of listCoords as text) & ", " & (item 2 of listCoords) as text
end tell

6. Set the abbreviation
7. Switch to TextEdit and type your abbreviation


Have a favorite AppleScript snippet? Let us know.


Important Changes in TextExpander touch for iOS

Posted 12/02/2013 by Jean

TextExpander touch 2.3 has been released. This update changes the way that snippets are shared between TextExpander touch and third-party apps with TextExpander support. Here is the email we sent to users explaining the change and its impact:

Dear TextExpander touch User:

After recent discussions with the App Review Team from Apple, they informed us that TextExpander's use of Reminders for shared snippet storage will no longer be acceptable. We will need to significantly revise TextExpander touch, and to do so immediately.

We have come up with an alternative to using Reminders, which will require you to take action to update your snippets and keep them updated. This will have to be done via apps you use with TextExpander integration. There will probably be a "Get Snippet Data" button in the app’s settings, but that depends on how the developer chooses to handle this.

Reminders are no longer used for shared snippet storage in the latest update, TextExpander touch 2.3, which has been approved by the App Store and will be released shortly. Version 2.3 includes the new mechanism for apps with TextExpander support to update your snippets.

We have also provided an updated TextExpander touch SDK to third party developers so that they can revise their apps. As developers ourselves, we know this sort of unexpected and unscheduled change is difficult to accommodate even under normal circumstances. At this time of year, with impending holidays and year-end obligations, it’s even more difficult. You might want to let the developers of your favorite apps know that you would like to see updated TextExpander support, but please be patient with them as they work out how to fit that into their development schedules.

The apps list ( has been reset. We will add apps to the list as they update their support for TextExpander touch. In the interim, apps which have not updated to our new SDK will be accessing stale snippet data from Reminders. On the bright side, you'll still be able to use TextExpander in those apps. On the downside, you won't be able to access new or updated snippets until those apps are revised.

We know how much you depend on TextExpander touch.  We are doing our very best, as always, to provide a workable solution that meets the needs of users, developers and Apple. Thank you very much for your support.

PS. If you are interested in knowing more about the changes in iOS 7 and how they’ve affected TextExpander touch, see our post:


TextExpander touch integration comes to Fantastical 2

Posted 10/30/2013 by Jean

One of our favorite apps is Fantastical from Flexibits. It's one of the most popular calendaring apps on Mac and iPhone. It has a beautiful, intuitive interface and lets you use natural language to create events. If you enter "Meeting with Philip at 1:30 on Friday", Fantastical creates an event with all those details filled in.

Fantastical 2 was released today, with lots of new features and interface refinements. And one of those new features is support for TextExpander touch. We thought it would be a good time to review what you need to do to make sure app work with TextExpander under iOS 7, using Fantastical as an example.

As we've written earlier, iOS 7 changed the way that TextExpander can share your snippets with other apps. It will now store your snippets in a reminder, which means that both TextExpander and the other app (in this case, Fantastical) must have access to Reminders.

When you first launch Fantastical, it will ask for permission to access Reminders. (If you skipped this on first launch, you can enable it in Settings.) In TextExpander, you need to enable the Share Snippets setting, at which point TextExpander will ask for access to Reminders.

If you go to your iOS settings, under Privacy > Reminders, you should see both TextExpander and Fantastical listed and enabled. If they are not enabled, you need to enable them. If one or both don't appear on the list, check the settings of the apps themselves and make sure they are set as described above.

Here's another tip for new TextExpander touch users: if you set Ignore Case in your TextExpander settings to "Off," you'll avoid issues with auto-capitalization.

If you have any questions, our friendly support geeks are ready to help--just send us an email!

Fantastical, TextExpander settings


TextExpander and Mavericks

Posted 10/23/2013 by Greg

We strongly recommend you use TextExpander 4.1.1 or later with Mavericks.

If you are using TextExpander 3.4.2 from the Mac App Store, you should download TextExpander 4.1.1 or later. It should automatically detect your license. If not, please send us an email with your Mac App Store receipt, and we'll work with you on a TextExpander 4 license.

Here's how to enable the system support TextExpander requires on Mavericks:

1. Choose System Preferences from the Apple menu
2. Click on Security & Privacy
3. Click on the Privacy tab
4. Click on Accessibility in the list at the left
5. Click the lock icon to allow you to make changes (you'll be prompted for your password)
6. Check "TextExpander" and "TextExpander Helper" (the latter may not appear)

7. Launch TextExpander and you should be back in business

If you have any questions, please let us know.

Thanks for using TextExpander!


PDFpen 6 Supports Redaction via AppleScript

Posted 10/16/2013 by Greg

PDFpen 6 introduced support for performing redaction via AppleScript.

Redaction completely removes text from a document and leaves behind your choice of either a black box or a blank space. It can be used to remove sensitive information from a PDF before sharing it, such as names in transcripts or account numbers in bank statements.

Here's an example AppleScript showing how to remove all instances of “Smile” from the frontmost document:

tell application "PDFpen"
	tell document 1
		search string "Smile"
		repeat while performing search
			delay 0.1
		end repeat
		redact with block
		repeat while performing redaction
			delay 0.1
		end repeat
		display dialog "Done"
	end tell
end tell

The first part of the script performs a search for all instances of "Smile" in the frontmost document and waits for the search to complete.

The second part of the script tells PDFpen to redact all the instances of "Smile" found in the search, replacing them with a black block, and waiting for the redaction to complete. If you prefer blank space, use "redact without block".

Once this script is completed, you'll no longer be able to search the document for "Smile", because "Smile" no longer appears in the document.

You can use this sample as the basis for part of a folder action or automator action to perform redaction as part of your workflow.



Adding the Emoji Group to TextExpander

Posted 10/07/2013 by Jean

In the latest version of TextExpander [ download ], we added a new Predefined Group of snippets that you can add to your snippet library: emoji. 

In case you're note familiar, emoji is the Japanese term for the ideograms, or "smileys" used in text messages and elsewhere. According to Wikipedia, the word literally means "picture" (e) + "letter" (moji). The characters are used much like emoticons, but there are many more emoji, which depict a vast range of items and emotions.

If you want to add the new Emoji group, it's simple. Just go to the File menu, and choose Add Predefined Group > Emoji. The abbreviations follow a standard, with a colon before and after the emoji name. (Example: :smile: inserts a smiley face.) If the emoji has two words, there is a space between the words. (Example: :space invader: inserts a little character from the classic arcade game.)

There are 247 emoji in the group. If you don't see your favorite, let us know.



Page 1 of 17 pages  1 2 3 >  Last ›

Add Your Own Comment: