I'm creating a custom PDF catalog by grabbing pages from other companies PDFs (I do have permission to do so) but I'm having problems though because I do not have the same fonts installed on my machines.

Adobe Illustrator substitutes the missing fonts, however the sizes are way off. I've found font substitutions that work great, however I can't find a way to automate this when I open the file. For each page, I have to go to Type > Find Font, and manually pick.

Is there any way to automate this otherwise there is a lot of tedious work that needs to be done manually.

  • 2
    Not sure about this one so I'm just going to write it as a comment, but have you tried recording an action? Commented Jan 31, 2011 at 17:29
  • you know, I have not but I should try that. I figured there wasn't an easy fix to this - but if there is one that is it
    – delvec
    Commented Jan 31, 2011 at 18:38
  • 3
    Do you actually need to edit the pages in Illustrator? Or could you just collate the PDFs in Acrobat, or place them within an InDesign document?
    – e100
    Commented Feb 1, 2011 at 16:26

2 Answers 2


In looking at the CS4 Applescript API (sorry, I don't have CS5, but the APIs haven't changed in really significant ways for a couple versions now), font substitution upon opening a PDF isn't available. But it is possible to change fonts after a document is opened by examining all of the objects and acting accordingly to the type and properties applied to a text object.

The caveat, and it's a doozy, is that you would need to set some kind of parameters you wish to change and what you want to change those to, which I imagine would mean knowing what fonts in the target document. But a script like that goes way beyond this site and possibly even Stackoverflow. Automating Illustrator is not a trivial exercise.


IMHO, the best solution is to install the missing fonts. Kills all your problem.

If you can't do this, and you have to open the same archive more than once, simply saving the file will save the new fonts substitutions and voila'.

I think there is no other solution without scripting and/or automator.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.