4

So, I've got a PDF file that's generated by a program that uses the Base 14 fonts, so that it contains "Helvetica" and "Times Roman". When I look at that in my copy of Acrobat 7.0 on Windows (for example), it shows these with Arial and Times New Roman. I'm fine with that.

The issue is that I'd like to publish this PDF file on lulu.com, and they want all fonts embedded. Including the Base 14. I don't have a copy of Helvetica, so what seems the natural thing to do is substitute Arial for Helvetica and embed Arial. How can I do that?

I tried using the Print feature in Acrobat (note: this is the full version, not Reader) to print to a PDF file using Adobe's "Print to PDF" printer driver, and selected the "Embed All Fonts" option in the print settings. This worked for the fonts that I had actual copies of, but instead of "printing" Arial for Helvetica -- which it would do if printing to a real printer -- it leaves all the Helvetica as Helvetica and doesn't embed it.

Any suggestions for alternate ways to do this? What I really want is just a copy of my PDF file with ALL fonts embedded, and I'm quite happy if doing that means making one of the usual substitutions for the "Helvetica" that's in it. I'd be happiest if I can do that within Acrobat or other software that I have (pdftex, maybe?), but I'm willing to install another free utility if I need to.

1
  • I have the same problem, I don't have Adobe Professional, and I have windows 7, any directions? I would be very glad if you could share your best approach now to get this done.
    – doctorate
    Commented Feb 17, 2015 at 17:56

4 Answers 4

3

In order to embed a font in a PDF document you must have that font available on your system and the font needs to allow embedding. Almost all fonts allow embedding, so that shouldn't be a problem.

A manual way to embed a font in Acrobat (I'm using Acrobat 8 Professional, so hopefully it is available in 7 - I don't have access to 7 anymore) is to use the "TouchUp Text Tool"

Tools > Advanced Editing > TouchUp Text Tool
  1. With the tool selected, click on some text that uses the font you want to embed to select it.
  2. Right click and choose Properties...
  3. Choose the Text tab
  4. Look for the Permissions Field - It will tell you if the font can be embedded
  5. Directly to the Right of that information is a checkbox for "Embed"
  6. Check Embed
  7. Hit Close
  8. Save the Document
  9. That font should now be embedded - check the Fonts setting to make sure

    File > Properties... > Fonts
    

You'll have to repeat this process for each font you want to embed.

6
  • Thanks for the detailed explanation! It didn't quite address my real issue -- which is that the font for this text is listed as "Helvetica Bold" (which I don't have), and I'd like to substitute it for "Arial Bold" (which it's already doing to display the text!) and embed that. It turns out, though, that if I use the font pull-down in that dialog box, I can tell it to substitute Arial Bold for Helvetica Bold, and it will do that throughout the whole document -- and then I can embed it, and things are good. Commented Sep 11, 2009 at 0:22
  • Actually, no, that doesn't quite work -- when I do the substitution for "Times Roman" to "TimesNewRoman", it immediately loses my "fi" and "fl" ligatures. It was displaying them before! I suspect that's going to be a lot harder to solve, though.... Commented Sep 11, 2009 at 0:35
  • So I guess my real question is: How can I get it to do the same font-substitution in the document that it's doing to display it? With the ligatures and all? Commented Sep 11, 2009 at 0:40
  • So, you're able to embed Arial Bold for Helvetica Bold and it works fine. The only remaining issue is retaining the ligatures when embedding TimesNewRoman for Times Roman?
    – jmohr
    Commented Sep 11, 2009 at 3:33
  • Yes, that seems to be the only remaining problem. After thinking about this a bit, I realized that it's really a text-changing problem rather than a font-embedding one, so I don't entirely expect a good answer, but I wouldn't mind having one. (I do have the rest of Adobe CS2, so if InDesign would help, I can use that.) Thanks again! Commented Sep 12, 2009 at 17:10
6

You can use Ghostscript (even on Windows) to create PDFs that have all Fonts (even TrueType fonts) embedded.

If you are lucky, you might be able to create a PostScript file (which will serve as the input for the PDF-creation process run by Ghostscript) that has the fonts embedded, by following these steps:

  • Install the latest Ghostscript for Windows (v8.71) on your PC.
  • Install Adobe PostScript driver on your Windows box.
  • Choose all default settings (esp. page size and orientation) you want to use for your PDF.
  • Set up font embedding (on 'Advanced' tab in driver properties) like this:
    • TrueType-Font: 'download as softfont to printer'
    • TrueType download option: 'TrueType' (not 'Outline' or 'Bitmap' or 'Auto')
  • Enable 'Print to File' checkbox.

(Above UI strings have been translated by me back to English -- so the exact wordings you see on your PC may be different.)

When you print, you'll be prompted for a filename+path, with a default extension of *.prn. Save the file as "somename.ps" (it will be PostScript).

Now run a Ghostscript commandline in a cmd/DOS window to create the PDF:

gswin32c ^
 -dNOPAUSE ^
 -dBATCH ^
 -sDEVICE=pdfwrite ^
 -dPDFSETTINGS=/prepress ^
 -dCompatibilityLevel=1.4 ^
 -dHaveTrueTypes=true ^
 -dSubsetFonts=true ^
 -sOutputFile="c:\path\to\somename.pdf" ^
 -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams" ^
 "c:\path\to\somename.ps"

Ghostscript will use it's own (very good) clone fonts (donated by the URW Foundry under a FOSS license) in place of the original Adobe 'base 14' ones. Specifically, it will use:

  • instead of "Times": "Nimbus Roman No9 L"
  • instead of "Helvetica": "Nimbus Sans L"
  • instead of "Courier": "Nimbus Mono L"
  • instead of "Symbol": "Standard Symbols L"
  • instead of "ZapfDingbats": "Dingbats"
5
  • can you pls recommend a link to download Adobe PostScript driver on Windows 7? I have the same problem,, even same font types -- brilliant solution for me -- I don't know whether you could recommend an easier one? or may be more details about how to convert to .ps file. Very much apprecated as this will save my pdfs plagued with Helvetica, Helvetica-oblique and ZapfDingbats. Time is short to meet the printing house requirement.
    – doctorate
    Commented Feb 17, 2015 at 17:41
  • can you please care to answer this post: stackoverflow.com/q/28568847/1288722 ?
    – doctorate
    Commented Feb 17, 2015 at 18:49
  • I installed postscript universal one and was fine. Now my problem I cannot see the option TrueType among others in ...download option: 'TrueType' (not 'Outline' or 'Bitmap' or 'Auto')
    – doctorate
    Commented Feb 17, 2015 at 19:12
  • it worked now! but I want to get a pdf cropped to the same size of the original pdf? I have various sizes of PDFs. Any idea how to make the size of the printed .ps file exactly the same size of original PDF?
    – doctorate
    Commented Feb 17, 2015 at 19:52
  • Nowadays the .setpdfwrite bit is not supported by Ghostscript 10; one would need something like gs -sDEVICE=pdfwrite [...] -sOutputFile=out.pdf -c '<</NeverEmbed [ ]>> setdistillerparams' -f in.pdf. (Source here.)
    – Vicky
    Commented May 9, 2023 at 0:39
0

URW++ has released GPL versions of all the standard Postscript fonts. Unfortunately they're hard to find on their own, the easiest way to get them is from a Ghostscript installation.

Once you've installed those fonts, you'll have Helvetica, although it might be under a different name.

0

PagePlus (http://www.freeserifsoftware.com/software/pageplus/) is able to open and edit PDF files, so you'd probably have more luck with that.

InDesign only imports PDF files as though they were graphics, and you can open and edit individual pages from a PDF in Illustrator, but that would be a real pain for more than a few pages.

You must log in to answer this question.

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