25 Sep

Is your Barcode app ready for 64 bit?

Recently, we’ve had a few questions about 64-bit apps and also code signing. It seemed sensible to talk about them here, rather than keep repeating the same message!

64-bit applications

A number of users have asked whether our macOS barcode app, Barcode Basics is a 64-bit app. The short answer, is “yes”. But why does is matter? Well, all modern Macs have 64-bit processors. This means that apps designed to run on 64-bit processors will generally run faster and better than apps designed to run on the old legacy 32bit processors. So, why are people suddenly asking?

macOS displays this message if you try to run 32bit apps

Apple has been supporting both types of apps for quite some time, but has now announced that its current macOS (Mojave) will be the last to support 32-bit technology.

So it’s a good time to check that the apps you rely on are 64-bit, otherwise you may find yourself without them on the next major macOS release. To check whether an app is 64-bit or not, you could either contact the developer or follow these steps:

  • From the Apple Menu, select “About this Mac”
  • Click the “System Report” button
  • From the system report, scroll down to “Software” in the left hand sidebar, then click “Applications”
  • Select the Application you’re interested in and you will see a field called “64-bit (Intel)”
  • If you see “Yes” in the “64-bit (Intel)” field then the selected app wasdesigned for 64 bit.
  • More about 64-bit here: Apple info on 32-bit/64-bit app compatibility

    Code Signing

    We also sometimes get asked about code signing. Code signing assures you that an app is from a known source and hasn’t been tampered with since it was signed. Logically, if an app isn’t code signed then you can’t be certain where it came from or that something malicious hasn’t been done to is since it was created – a popular way of introducing malware.

    All apps purchased direct from the Mac App Store are code-signed (Apple simply rejects them if they’re not). However, apps from other sources (e.g. downloaded from websites) may or may not be code signed.

    Apps which are not code signed can still run on macOS, although you may get a warning when you try to run them, depending on your security settings. If this happens, you should think carefully about whether you trust the source of the app and whether you’re comfortable with the risks of running unsigned code.

    More about code signing here: Apple info about code signing


    Barcode Basics is 64-bit compatible and fully code signed so you can be sure it will continue to work in the next macOS, and that it hasn’t been maliciously changed since it was signed by us. Here’s a comparison between Barcode Basics and it’s competitors:

    App Name64-bitCode SignedPrice Per User
    Barcode Basics






    Agamick Barcoder



    $97 - $195 (depending on functionality)
    Barcode X



    Barcode Producer






    Data correct at October 2018. Some prices shown were converted to USD using exchange rates at time of writing.

    While we have your attention… why not check out our macOS apps?

    Barcode Basics – macOS barcode generator (including Automator support)
    Ai Actions – Automator action pack for Adobe Illustrator
    Pages Automator Actions – Automator action pack for Pages

    30 Jul

    We’re launching Priority Support Subscriptions!

    All users get free support for Ghostotter products. However, we understand that our software is business-critical for some users and they need a faster support response than other users.

    If that sounds like you then you might want to consider purchasing a priority support subscription (PSS). A PSS enhances the support options for your product with the following benefits:

    A faster response
    We always try to respond to support requests as quickly as possible. However, some users need a super-fast response. With a PSS, we will respond to your support request within 1 working day. (Normal response time is within 3 days).

    A dedicated support contact
    You will have a dedicated member of the Ghostotter development team who will be your first point of contact should you need help. NB. Contact will be via email and in English.

    Priority support
    Support requests from users with a PSS will be dealt with ahead of other support requests.

    Priority development requests
    Development requests (e.g. new feature requests) from users with a PSS will be prioritised ahead of other development requests. Be aware that not all development requests will be accepted.

    More Info

    15 May

    Using Automator to convert Pages to PDF

    Recently we were asked how to use Automator to convert Apple Pages documents into PDFs. In the spirit of sharing the knowledge, here’s how we did it.

    It’d be great to make an app which we could drop our Pages files on and have them made into PDFs. The obvious way to make such an app is with Automator. Unfortunately, Pages doesn’t ship with Automator actions (although there are some funky third party options)

    Luckily, Pages is AppleScriptable so we can make our own action. Let’s look at how to do that.

    First, launch Automator (you’ll find it in your Mac’s Applications folder). Select “Application”.

    Screen Shot 2016-05-12 at 13.19.38

    Next, drag a “Run AppleScript” workflow into your workflow so you have something that looks like this:

    Screen Shot 2016-05-12 at 13.20.06

    Replace all the purple text in the action with the following AppleScript:

    on run {input, parameters}

    repeat with theFile in input
    tell application "Finder"
    set theFilesFolder to (folder of theFile) as text
    end tell

    tell application "Pages"
    set theDoc to open theFile

    set theDocName to name of theDoc
    set theName to (characters 1 thru -7 of theDocName) as text
    export theDoc as PDF to file ((theFilesFolder & theName & ".pdf") as text)

    close theDoc

    end tell
    end repeat
    return input
    end run

    Save the workflow and you should now have an app that you can drop Pages documents on.

    Note that it’s up to you to make sure that the documents you drop actually are Pages documents – the script doesn’t check and may error if you drop the wrong type of documents.

    On a related note, if you’d rather dodge the AppleScripting all together then you could try out our handy Pages Automator Actions.

    While we have your attention… why not check out our macOS apps?

    Barcode Basics – macOS barcode generator (including Automator support)
    Ai Actions – Automator action pack for Adobe Illustrator
    Pages Automator Actions – Automator action pack for Pages

    03 May

    Automating HTML to PDF conversion on OS X

    Ever wondered how to convert a big batch of html files into PDFs?

    Well, you *could* open each html file in the web browser of your choice and save/print it as a PDF. However, that’s going to take a long time for a big batch. One fun way you can do it in macOS is by creating an Automator service to do the donkey work for you. Let’s take a look at how to do that.

    First, launch Automator (you’ll find it in your Mac’s Applications folder) and create a Service document (NB. Click any of the screen shots here to enlarge them).

    Create Automator Service

    Next, set the services input options as shown below.

    Screen Shot 2016-05-03 at 14.09.55

    Next drag in a Run Shell Script action. Make sure you set it’s “Pass input” option to “as arguments” – that’s important! This lets us pass the files we select as an input to the shell script.

    Screen Shot 2016-05-03 at 14.10.33

    Change it’s contents to:

    for theFileToProcess in "$@"
    cupsfilter "$theFileToProcess" > "${theFileToProcess%.*}.pdf"

    And save it as “HTML 2 PDF”, or whatever makes sense to you. Now it should look like this:

    Run Shell Script options

    Now, if you select a one (or more!) HTML files in in Finder whilst holding your control key down, you should be able to find the service you just created under “Services”. as shown below. Select it and you’ll run the shell script on all the files you selected!

    Screen Shot 2016-05-03 at 14.13.29

    Note that this will work best on fairly simple html – if you have heaps of JavaScript, movies etc in your html then the PDFs may not be great. However, its a handy quick way of taking some of the pain out of converting html to pdf.

    While we have your attention… why not check out our macOS apps?

    Barcode Basics – macOS barcode generator (including Automator support)
    Ai Actions – Automator action pack for Adobe Illustrator
    Pages Automator Actions – Automator action pack for Pages

    30 Jan

    Are you an Adobe Illustrator drudge?

    Automator actions for Adobe Illustrator

    If you’re a regular user of Adobe Illustrator then you probably find yourself doing more than your fair share of drudge work. Here’s a way of avoiding some of it…

    Drudge work comes in many forms, for example gathering all those linked images together ready to send your files for printing. Or opening a large number of files, saving each one as a PDF and uploading them to an FTP site. The sort of stuff you never really signed up for when you decided to become a graphic designer or artworker.

    Of course, you could teach yourself AppleScript and write your own scripts to automate your workflow. But who’s got time to learn AppleScript? Or you could hire an AppleScript expert. Or you could invest in technologies like Automation Engine from ESKO, but the price tag puts those options beyond the budget of many freelancers and many small businesses.

    This is where our product Ai Actions comes in. It adds support for Adobe Illustrator to Apple’s workflow software, Automator. If you can drag and drop then you can create your own automatic workflows to automate Illustrator and integrate with other apps too such as Mail, Preview etc. You can even save your workflows as apps.

    A sample action fro Ai Actions
    Click here to see how to use Ai Actions to create a simple workflow in Automator.

    If you want to try your hand at automating Adobe Illustrator then why not download the demo version of Ai Actions from here:

    Ai Actions DEMO

    …the demo version contains a small selection of the actions available in the full version which contains over 20 useful actions and is available from the Mac App Store.


    20 Oct

    The case of the elusive “℮”

    Recently, I needed to choose a font on macOS which would support Russian and also the character “℮”. You can often find the ℮ character next to the weight/volume on packaging e.g. 150ml . It indicates that the value is estimated.

    How did I figure that out? Luckily, I remembered one of our lesser known apps called Fonty, which was designed for exactly this kind of situation. Here’s what I did…

    Firstly, launch Fonty and uncheck every language except Russian. Hey presto, we now have a list of fonts that contain all the glyphs required for the Russian language.

    That’s great, but not all of these will have a glyph for the “℮” character. We need to filter out the fonts that don’t support it. This is where Fonty’s custom character sets come in. We select Preferences and click “Add” to add a new character set adding just the “℮”. Right there at the bottom, see?

    Having closed the preferences window, I can now see my new character imaginatively called “℮”. If I select it *and* Russian, I can now see a list of all fonts installed on my Mac which support Russian and the ℮ character.

    Of course, I could have just added the ℮ to my Russian character set. The beauty of doing it the way shown above is that you can select the ℮ in combination with other character sets. So for example, if you wanted to find out which fonts support Czech and ℮ then you’d just need to select Czech instead of Russian.

    In conclusion, Fonty lets you choose the right font to use for the characters you need to support. You can get your copy from the Mac App Store!

    Mac Font Repertoire checker validate validator

    31 Jul

    Custom screenshots app on macOS

    Recently, a macOS user asked for a recommendation for an app which would take a screen shot and save it in a folder, with a name based on the current time in a particular format – they didn’t like the macOS default naming.

    Rather than recommend an app, we showed them how to make their own using Automator. Here’s how to do it:

    First, open up Terminal (found in /Applications/Utilities) and type:


    …then return. It should give you a path that looks something like:


    If you add “Desktop” to the end of that then you have the path to your desktop. So, it should be something like:


    Don’t forget the slash on the end.

    Right! That was the hard bit. Next, replace the XXX in my line below with your desktop path:

    theDate=$(date "+%Y-%m-%d_%H-%M-%S"); theSaveFolder="XXX"; screencapture -i -o "$theSaveFolder/$theDate.png"

    Next, fire up Automator (in your Applications folder). Make a document of type “Application”. Then all you need to drag a “run shell script” action from the side bar into the main panel and replace the default text with the line above.

    You should now have something that looks like this (click for a larger view):

    Save your work, and you now have a shiny new app which will take screen shots and name them with a timestamp whenever you click it. Of course, you can play around with the time stamp format if you like. There’s a guide to the UNIX date command (which is what we’re using) here https://ss64.com/bash/date.html

    For more cool ideas with Automator, why not check out:

    03 Apr

    Creating a simple Automator workflow to make barcodes

    In this tutorial, we’re going to create a very simple Automator workflow to create barcodes from user input. In future tutorials we’ll look at more advanced methods, but for now, lets keep things simple. You’re going to need a relatively recent version of macOS and an installed copy of Barcode Basics (that you’ve launched at least once!) if you want to follow along with this.

    NB. You can click on any of these screen shots to enlarge them.

    1. Launch Automator
    Automator comes free with macOS and can be found in your Mac’s Applications folder. Launch Automator and create a new workflow.

    2. Get some user input
    Drag an “Ask for Text” action into your workflow. If you have trouble finding it, type “ask” into the search field to narrow down the options. Note that’s what I’ve done in the pic below.

    3. Drag in a “Make Barcode” action
    Drag in a “Make Barcode” user action. Again, if you have trouble finding it, type “Make Barcode” into the search field. If you can’t find it, it may be because you haven’t launched Barcode Basics – the actions get installed when it’s first run (if this is the case, quit Automator, launch Barcode Basics then start again). Your workflow should now look something like this.

    You can configure the barcode settings as required. Note that the settings (e.g. BWR) apply to all barcodes made with this workflow.

    4. Move the resulting files
    Initially your files will be created in your Documents folder, in a sub folder called “Barcode Basics”. You should move them out of there to their required location to avoid that folder slowly growing in size. The “Move Finder Items” action is a good choice for this.

    5. Run the workflow!
    Press the “Run” button in your Automator workflow to generate barcodes! Enter a new one on each line to generate multiple barcodes.

    This is an extremely basic example of creating an Automator workflow using Barcode Basic’s Automator action. In coming tutorials, we’ll look at creating a an Automator app, service and some more complicated workflows.

    Naturally, you can still use Barcode Basics as a stand alone app. However, I hope this demonstrates how easy it is to automate barcode production. If I’ve sparked your interest then head over to the Mac App Store to pick up your copy!

    Link to Mac App Store to purchase Barcode Basics - Mac barcode software

    16 Feb

    Making shell scripts more user friendly

    We were recently asked whether it was possible to copy all the files that contain some variable text from Folder A into Folder B as part of an Automator workflow on Mac OS X.

    Our solution demonstrated a nice way of using Automator as a way to gather information from a user and pass it to a shell script. It’s handy because many users feel intimidated by the Terminal, but are happy to run an Automator action. Here’s what we did…

    First, let’s assume that we have two folders on our desktop. One is called “Source” and the other called “Dest”. If we wanted to copy all files whose name contains “Xxx” from Source to Dest then we could fire up the Terminal and do:

    find ~/Desktop/Source -type f -name "*Xxx*" -exec cp "{}" ~/Desktop/Dest \;

    The “*Xxx*” bit is where we tell the find command that we’re interested in files whose name “Xxx” with any text before or after it. You might want to read up on other options the find command has if you’re not familiar with it – it can be really useful.

    However, we don’t want “Xxx”, we want the user to be able to decide what text to search for. So, let’s set up an Automator workflow and add an action to get some that text from the user…

    Ask for text

    Hopefully that’s straight forward. Next, we add a “Run Shell Script” action:

    Run shell script

    If you feel like copying and pasting, then the code is:

    for f in "$@"
    find ~/Desktop/Source -type f -name "*$f*" -exec cp "{}" ~/Desktop/Dest \;

    That’s probably a little less straight forward! So let’s look at it a bit more closely. First, note that “pass input” is set to “as arguments”. This means that the output of the previous action is passed to our shell script as a special variable called $@.

    The variable $@ could theoretically be a list, so we use a for loop to go through each item. Odds are that it’ll only ever be one item, but at least this way it’ll still work if one day it is a list. Our for loop goes through the $@ list an item at a time and executes the code between “do” and “done” once for each item in that list (the item is in a variable called $f). The code being executed should be familiar as the find command from earlier, but with $f as the search string instead of “Xxx”

    So, if you run the workflow now you should be prompted to enter some text. Your source folder should be scanned for files whose name contains the text you entered, and any matching files copied to the destination folder.

    You can run the workflow as it is, or save it as an Application if you prefer. Hopefully users will find this a more user friendly way of passing parameters to a shell script and exceuting it than using the Terminal.