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)

82 comments:

mathieu 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!

Peter 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...

Ganesh 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...

saved my time and life.

thanks.

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!

Chau Khoa Pham 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 (Zorro) 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

Rnaodm Thoughts said...

5 stars!

Dharshana Kasthurirathna 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!

Vineet Gokhale said...

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

website design 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..:)

Paula Catalina Acuña Roncancio 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.

Muthu Kumar said...

download SHAREit for windows

Masum 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.

Ferdousi said...

If you want to learn SEO Tips or Blogging Tips or Learn Blogging Strategies, then you can visit www.seomainsheet.com

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.