Sunday, October 18, 2009

Fixing "font not embedded" issue to pass the IEEE PDF eXpress check

We recently had to make the format of a paper complaint with the IEEE PDF eXpress format. The paper did not pass the check in the first few attempts. Hence this blog post. I'd like to thank my colleague Ning Shang who did the most of the fixes to get it working. I am listing the fixes here so that anyone else who encountered similar issues may find this post useful.

Before that, I work on Ubuntu 9.04, kile 2.1 (the IDE), use the tools latex, bibtex and dvipdf to generate pdf files from tex/bib/cls files. (i.e. latex file.tex; bibtex file; (to attach the ref.bib file) latex file.tex; dvipdf file.dvi to finally get file.pdf)

The tex file uses the IEEE conference style. Additionally we used the following packages initially:
times, epsfig, graphicx, url, verbatim, amsmath, amsfonts


Issue #1: Document contains bookmarks
Fix: We had to remove the url package from the included packages lists and convert \url{address} to {address} in ref.bib.

Issue #2: Font Times-Italic, Times-Roman, Times-BoldItalic, Times-Bold, Helvetica, Courier is not embedded.

You can see what fonts are embedded and what are not, by using "pdffont file.pdf" and looking at the "emb" column. In our case, it did show that some fonts are not embedded.

Fix: We searched the Internet [1, 2]and found that in order to fix this (i.e. to embed all the required fonts) we need to do the conversion from tex to pdf in two stages. This is a dirty hack; but it works.

latex file.tex
bibtex file
latex file.tex
latex file.tex (Now we have file.dvi)
dvips -Ppdf -G0 -tletter file.dvi (Now we have file.ps)
ps2pdf -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress file.ps file.pdf (Now we have file.pdf)

95 comments:

Unknown said...

Hi Nabeel,
I had (and not I have!) exactly the same problem of not embedded fonts with a conference paper. I did what you said, and it works perfectly. Thank you very much you saved my time!

Peer said...

Worked great. Note that under cmd/Windows you will need some small edits as cmd doesnt like = etc.:

dvilatex file.tex
bibtex file
latex file.tex
latex file.tex
dvips -Ppdf -G0 -tletter file.dvi
ps2pdf -dCompatibilityLevel#1.4 -dPDFSETTINGS#/prepress file.ps file.pdf

arrazem said...

Thanks for the info, and here's what I did. Maybe this is quicker if you're in Windows.
I used Pdftex as normal to produce a pdf file(of course with fonts NOT embedded).
Then, I opened the pdf file and printed it using a PDF printer to produce a new PDF file that passed eXpress verification!
All you need to do is configure the PDF printer as follows:
"Under the ADOBE PDF Settings" in the Printer Properties, un-check the following option:
"Rely on system fonts only; do not use document fonts"

Anonymous said...

Hi Nabeel,

Thanks a lot for saving our time.

Anonymous said...

Dude! You're a life saver.

Anonymous said...

life saver!
The options in dvips and ps2pdf commands work perfectly!

Anonymous said...

thank you, it really works

Anonymous said...

worked for me ... in Wubi!

Anonymous said...

Thanks so much!

Anonymous said...

I wish IEEE puts such easy-to-follow instructions in its FAQ page. Thanks so much!

Anonymous said...

Thank you Nabeel! This post saved me time and headaches to deal the the font not embedded errors. Beer/coffee on me next time we run into each other!

Anonymous said...

It's great !!!

Thanks for the information

Anonymous said...

Thanks. I had a submission today and it worked like magic!

Anonymous said...

It didn't work in my case, but the blog was good. I used the previous comment saying that printing the pdf file was enough ... I did like that.

Anonymous said...

Thank you very much! It worked for me as well ;)

Vaibhav said...

Worked as required. Thanks for your help.

Lucas Hartmann said...

Excelent tips, helped a lot. I just have an extra tip to make font embedding automatic.

You may actually edit Kile's build commands via Settings/Configure Kile/Tools/Build. For QuickBuild I set LaTeX, BibTeX, LaTeX, DVItoPS, PStoPDF. Selecting the DVItoPS or PStoPDF tools on the list, you may then add the extra options.

Now I just have to press F8 to get an IEEE-Xpress compatible PDF. :-)

Anonymous said...

Thanks to everybody, Especially to Nabeel and arrazem...

Dr Ganesh Iyer said...

Thank you for such a useful tip

Dinesh Rajan said...

Thank you for the tip! It proved very useful.

Anonymous said...

Thanks for saving my time!

Sam said...

Thanks dude!!! It worked perfectly... :)

Anonymous said...

Thank you very much for your generous sharing! You are a very kind soul!

Anonymous said...

Many Thanks Nabeel

Anonymous said...

Thanks Nabeel for the tip.

I used "pdffonts file.pdf" instead of "pdffont file.pdf" as you had mentioned to check which fonts are embedded.

Anonymous said...

Worked with no problem. Thanks thanks thanks!

Gon said...

Man, YOU MY HERO!

Tugba said...

In my first submission I followed the instructions here and everything was wonderful, but one week later I had to update the paper, I

added a line and did the same procedure but it failed! I got the following error:

"miktex gpl ghostscript 8.60 unrecoverable error exit code 1"

Then I tried the same procedure again with the first file which successfully passed my first pdfexpress trial, but it also gave the

same error. I tried with different computers but failed. I updated mixtex to 2.9 but again failed. Later I solved the problem with the

following procedure:

I did not have GhostScript in my computer so downloaded it from

http://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs900/gs900w32.exe

and GhostView from

http://pages.cs.wisc.edu/~ghost/gsview/index.htm

I formed my .ps file as usual (either described in this page or directly from latex "dvi to ps" button), opened my ps file with

GhostView and did the same settings given in the last line of the solution offered in this page (the line starting with ps2pdf) as

follows:

1- Open your ps file with GSView.
2- From GSView "File" menu select "Convert".
3- A dialog box will open. Select "pdfwrite" from left of the box. At the right there is a "Properties" button, select it and do the

following settings:

Set "CompatibilityLevel" to 1.4
Set "PDFSETTINGS" to /prepress
Set "EmbedAllFonts" to true
(I also set "SubsetFonts" to true, but I don't know if it is necessary).

4- Click OK and save your file. And at last it absolutely passes the pdfexpress!

Med said...

Hi, Nabeel Thank you so much for this useful information :). Unfortunately it didn't work in my case. However, I've followed Arrazem suggestion to use a PDF printer and finally I passed the PDFExpress verification. Once again, thank you all especially Nabeel and Arrazem!

Ben's Notes said...

Hi, just wanna say thank for saving me a couple of hours searching for a solution!

Anonymous said...

Thank you buddy and Peter who posted for windows

Zhilin Zhang said...

Well.. The IEEE now has provided a much easy way to do this. You just need to upload a compressed package (e.g. .rar or .zip) which includes the dvi file and the figure files. Then the IEEE will send you a certified PDF file to you in a minute. So simple!

YukselOzanBasciftci said...

Hi Zhilin,

Can you post this website?

Ozan

grit said...

Big hug to Nabeel and arrazem !

Anonymous said...

It works great!!!
THANKS!!!

Anonymous said...

Thanks dude!

Anonymous said...

Thanks a lot

Anonymous said...

Thanks for taking time to put the procedure together. It works great and solves my problem.

Anonymous said...

As I use MikTex under Windows, using 'ps2pdf -dCompatibilityLevel#1.4 -dPDFSETTINGS#/prepress file.ps file.pdf' works as Peter said.

Thanks a lot for saving my time!!! :)

Raghu said...

Nabeel,

This is a great little trick that saved a lot of time ! Along with Peter's suggestion to use # in place of = under windows definitely helped.

Raghu.

Anonymous said...

Thanks Nabeel,

The trick is highly effective.

ZAR said...

Thank you Nabeel and Peter...

ZAR said...
This comment has been removed by the author.
James said...

Thanks so much! It works!! :)

avinash kumar chaurasia said...

thanks for the solution

Anonymous said...

Thank you! Works perfectly

Anonymous said...

Thanks! works perfectly

Anonymous said...

Thank you! Worked perfectly together with Tugba's tips.

mouna said...

thank you, it really works

Atul Ingle said...

5 stars!

දර්ශන කස්තුරිරත්න said...

this was a life-saver. thanks for posting (and thanks for that comment which gave the command for the windows envt).

Anonymous said...

Thanks a lot. It worked like a charm.

Anonymous said...

Thanks you

Swagat said...

Really worked for me. Thanks for the help.

I still have another issue. It uses Type 3 fonts in some places. Is it possible to remove them as well? I tried the following:

\usepackage[T1]{fontenc}
\usepackage{pslatex}

It did not help. I still have few Type 3 fonts.

Anonymous said...

After trying for 3 hours, I came across your blog and it solved my prob. . .!!! Thanks a ton . . . . .!!

Anonymous said...

After trying for 3 hours, i came across your blog, and it solved my problem . . .thanks a ton !!

Anonymous said...

For those of you (like me): Texmaker and Linux users, you can also generate the pdf from Texmaker, then open the pdf (double click) and print it as .ps file. Then just execute the last line from this fabulous post and that's it :)

Anonymous said...

God Bless you man! so saved my time! thanks a bunch

Anonymous said...

Tugba thank you, your suggestion worked perfectly well, thank you. I have spent the whole night trying to fix this embedded font error...it now works!

Unknown said...

such simple and elegant solution this is!
Thanks a lot!

Anonymous said...

That was awesome. You are so far ahead of me, but I really appreciate the helps. Someday I'll be that far along. I appreciate you taking the time to do this.
website design

MyYear2014 said...

Thanks Nabeel and Arrazem....
Arrazem's method worked for me :) Thanks again.

Anonymous said...

I know even simpler method.
Using MS Word 2010, save the file as PDF, Goto 'options' that appears on right hand side of the window, Select ISO 9005-I Compliant option.

Then Generate PDF.
It will embed all fonts.
Now to double check, I opened it in Adobe reader, File-> Properties -> Fonts...
All the listed fonts should have '(Embedded subset)' or '(Embedded)' with them

Pet Lover said...

You will get the best solution here for PDF EXPRESS ERROR !!

Anonymous said...

Thank you Tugba. I did what you suggested and it worked at first go.

Anonymous said...

You are a genius! Thank you for this amazing advice. I've hit my head on this problem for almost every conference/journal submission.

Anonymous said...

Thankyou so much.. It saved my ass a great deal..:)

Unknown said...
This comment has been removed by the author.
Anonymous said...

Thanks a lot for your blog! It led me to the solution: in TexnicCenter compiling as tex->dvi->pdf instead of tex->ps->pdf.

Anonymous said...

finally solve this problem by your solution. Many thanks!

Bob said...

I LOVE YOU BABY! you made my day! ;)

Chandan Gautam said...

Thanks arrazem for the trick. You saved my day.

Anonymous said...

Thank you guys...it's indeed helpful.Try to submit the work before deadline to have spare time to deal with such problem.

jobsatcoimbatore said...

download SHAREit for windows

Anonymous said...

Thanks for share this for me.
Visit my blogging tips blog.

Adam Dziedzic said...

I had the same problems (bookmarks, form fields, not embedded fonts, etc.). I created the pdf in latex and then printed the same document in ubuntu to another pdf file. Then the "printed to a file" PDF passed the PDF Check.

Anonymous said...

You are God!!!
Your trick saved so much time of mine. Thanks a LOT!!!!

Anonymous said...

Thanks a lot.
My First IEEE Submission was successful.
Great Tips.Hats off

Anonymous said...

check these simple steps to get shreit apk file downloaded on your phone shareitforpcguide

Anonymous said...

here they are provided the simple steps of using whastapp pc app on your desktop.

Sumati said...

Thanks Peter for the edits suggested under cmd/Windows. It worked for me.

mohamed amine2 said...
This comment has been removed by the author.
mohamed amine2 said...
This comment has been removed by the author.
mohamed amine2 said...

Hi,
A solution for whom are using Microsoft Word. You have to save the pdf version from the "Print" option and not from "Save As". Make sure also to have Adobe acrobat reader as default program. Finally, you can check the fonts embedded in the pdf file and submit with success via Pdf Express!!!!!

Anonymous said...

this app is awesome and easy to use: SHAREit - fileshareforpcs

Anonymous said...

You saved my day. Thanks a lot

Unknown said...

Thanks Nabeel ! Sometimes page format change from pdflatex format. If font embedding error is due to MATLAB's eps file, you can also refer:
https://sites.google.com/site/xyzliwen/resource/embed_font_ieee_pdf_explore

Thanks to Wen Li.

Lopa said...

csr racing for pc

Unknown said...

You are God!!!
Your trick saved so much time of mine. Thanks a LOT!!!! happy new year 2018

Unknown said...

Reference :
https://tex.stackexchange.com/questions/149012/embed-all-the-fonts-during-compiling-with-pdflatex


If you are using TeXStudio in Windows, Go to Options-> Configure TeXstudio->Commands->Ps2Pdf. In that field, just paste
ps2pdf.exe -dPDFSETTINGS#/prepress -dEmbedAllFonts#true -dMaxSubsetPct#100 -dCompatibilityLevel#1.3 %.ps

This will directly embed all fonts while compiling itself.

You can manually do this from windows command prompt. In windows command prompt, navigate to the location of the .ps file and paste
ps2pdf -dPDFSETTINGS#/prepress -dEmbedAllFonts#true -dMaxSubsetPct#100 -dCompatibilityLevel#1.3 file_name.ps file_name.pdf

I guess, for linux machine, you just have to use "=" in the place of "#"

Anonymous said...

Perfect. Thank you.

Anonymous said...

This might help you https://karanjaevans.blogspot.com/2018/07/prepare-camera-ready-ieee-paper-for.html

mariea laura said...

Shareit 2019 for PC
Shareit 4.5.28 APK
Shareit for PC from Filehippo

pslvseo a4 said...

Dafont.com is a site where you can download a ton of free fonts. You can search for a specific typeface, or search by the type of lettering you want, whether it’s serif or sans serif, hand lettered or grunge style. You can also put in your own phrase to see how it looks in a particular font. A lot of these fonts are very decorative and many are handdrawn, so it’s not always the best place to search for body text fonts. Each selection also tells you whether your download is free for personal or commercial use. The download is easy – you get a zip file with the font file inside. Unzip, install, and you’re ready to go.

pslvseo a4 said...

Dafont.com is a site where you can download a ton of free fonts. You can search for a specific typeface, or search by the type of lettering you want, whether it’s serif or sans serif, hand lettered or grunge style. You can also put in your own phrase to see how it looks in a particular font. A lot of these fonts are very decorative and many are handdrawn, so it’s not always the best place to search for body text fonts. Each selection also tells you whether your download is free for personal or commercial use. The download is easy – you get a zip file with the font file inside. Unzip, install, and you’re ready to go.