You can use the background package to add a frame to every page of your document; the package internally uses PGF/TikZ
to place the background material and offers you great control over the attributes. A little example that places a blue frame in every page of the document:
\documentclass{book}
\usepackage{background}
\usepackage{ifthen}
\usepackage{lipsum}
\newcommand*\Myframe{%
\begin{tikzpicture}[ultra thick]
\draw(0,0) rectangle (1.1\textwidth,1.15\textheight);
\end{tikzpicture}}
\SetBgScale{1}
\SetBgHshift{-1cm}
\SetBgAngle{0}
\SetBgOpacity{1}
\SetBgContents{}
\SetBgColor{blue}
\SetBgVshift{-0.1cm}
\makeatletter
\AddEverypageHook{%
\ifthenelse{\isodd{\value{page}}}%
{\SetBgHshift{-1cm}}%
{\SetBgHshift{1cm}}%
\SetBgContents{\Myframe}\bg@material}
\makeatother
\begin{document}
\chapter{Chapter title}
\lipsum[1-20]
\end{document}
Of course, you can use your own material as frame.
textpos
ortikz
package to position the image at an absolute position on the page. You might need to put that code in the header or footer, so that it is added on every page