22

Is there is any possibility to put an image header in a letter class document? I can put a footer image and an image for my signature, but I want to put an image on the top of the letter.

Martin Scharrer
  • 262,582

2 Answers2

18

The letter class uses a page style called firstpage on the first page ...

\documentclass{letter}

\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{geometry}
\usepackage{lipsum}

\geometry{headheight = 0.6in}
\fancypagestyle{firstpage}{\fancyhf{}\fancyhead[R]{\includegraphics[height=0.5in, keepaspectratio=true]{logo.pdf}}}
\fancypagestyle{plain}{\fancyhf{}\fancyhead[L]{\includegraphics[height=0.5in, keepaspectratio=true]{logo.pdf}}}
\pagestyle{plain}
\begin{document}%
    \begin{letter}{}%
        \opening{Dear Some Name,}
        \lipsum[1-10]
    \end{letter}%
\end{document}%

It turns out the firstpage page style is only used if \address has not been used. If address has been used, then the first page style is empty and you need to add

\fancypagestyle{empty}{\fancyhf{}\fancyhead[R]{\includegraphics[height=0.5in, keepaspectratio=true]{logo.pdf}}}
StrongBad
  • 20,495
3

This is an extract from an in-house class we got for typesetting letters. Simply you just include the image.

\documentclass{letter}
\usepackage{graphicx}
\makeatletter
\newif\if@xl@logo
\@xl@logofalse
\def\setlogo#1{\@xl@logotrue\gdef\xl@companylogo{#1}}
 \setlogo{HSlogo}

\def\printlogo{%
 \if@xl@logo
  \includegraphics[width=.98\textwidth]{./\xl@companylogo}\par%
 \fi
}

\AtBeginDocument{\printlogo}
\begin{document}

\end{document}

enter image description here

Adjust your paper size with geometry to suit.

yannisl
  • 117,160
  • 3
    I don't think that this works with the letter class if you are using the letter environment for two reasons. The first is the letter environment will create a new page. The second is the first page in the letter class/letter environment is vertically centered. – StrongBad May 14 '13 at 14:40