[cstex] Vodoznak

Frantisek Chvala chvala at it.cas.cz
Tue Jul 1 13:06:22 CEST 2008


> Dobry den,
>
> Mal by som umiestnit na strany vyrobene TeXom vodoznak. Ten sa lisi od
> pozadia tym, ze je vpredu a je priesvitny.Priesvitne PS objekty bez
> problemov vyrobim v CorelDraw, ale ked ich umiestnim na stranky pomocou
> \epsf, priesvitnost (pochopitelne) stracaju. Da sa vyrobit pomocou TeXu a
> dvips PS subor s priesvitnym napisom nachadzajucim sa vo vrchnej vrstve?
>
> Za rady vopred dakuje
>
> Anton Surda
>
> P.S. Zda sa, ze pri distilacii PS suboru sa vodoznaky daju do suboru
> vpasovat. Slo by to urobit uz na PS urovni?

Dobry den,

Ulohu lze resit uzitim pdfTeXu, pokud mate pretisk ("vodoznak") k dispozici
v nekterem z formatu PDF, JPEG, PNG. Zde v ukazce pro konkretnost
predpokladame JPEG. Vystupni rutinu (pre)definovanou v zaveru
nize uvedeneho TeXoveho kodu berte jen jako priklad. Pro konkretni
TeXovy format muze byt nutne jeji specifikaci upravit.

% definiujeme si graficke stavy:
\pdfpageresources{/ExtGState <<
% /tr ... transparentni barvy
    /tr << /Type /ExtGState /ca 0.3 >>
% /op ... kryci barvy
    /op << /Type /ExtGState /ca 1 >>
% /bl ... zpusob prolinani pretisku s obsahem stranky
    /bl << /Type /ExtGState /BM /Multiply >>
                             >>}
\newcount\I
% do registru \I ulozime odkaz na x-formu,
% ktera bude obsahovat pretisk
\immediate\pdfximage
  width 10cm % sirka obrazku pro pretisk
  {obrazek.jpg} % soubor obsahujici pretisk
\setbox0\hbox{\pdfrefximage\pdflastximage}
\immediate\pdfxform 0
\I=\the\pdflastxform
% realizace pretisku:
\def\pretisk{%
% posun stredu obrazku do stredu tisku:
  \vskip-\baselineskip\vskip-0.5\vsize
  \hskip-\parindent\hskip0.5\hsize
  \vbox to 0pt{%
    \vss
    \hbox to 0pt{%
      \hss
% specifikace prusvitnosti a prolinani:
      \pdfliteral{/tr gs /bl gs}%
% odkaz na x-formu s pretiskem:
      \pdfrefxform\I
% navrat k puvodnimu grafickemu stavu:
      \pdfliteral{/op gs}%
      \hss}%
    \vss}%
% vertikalni posun bodu sazby na konec stranky,
% aby se spravne umistilo zapati (je-li definovano)
  \vskip\baselineskip\vskip0.5\vsize
  }
% predefinovani vystupni rutiny:
\output={\shipout
         \vbox{\makeheadline % zahlavi
               \pagebody     % stranka
               \pretisk      % pretisk
               \makefootline % zapati
        }}

% ... a zde bude nasledovat TeXovy zdrojovy text dokumentu.

Zdravim,
Frantisek Chvala




More information about the csTeX mailing list