[cstex] vložení textu do pdf

Zdenek Wagner zdenek.wagner at gmail.com
Tue May 15 10:54:56 CEST 2012


Dne 10. května 2012 16:51 Machys <machacek at gmail.com> napsal(a):
> Dobrý den všem,
>
> řeším problém, kdy do vícestránkového pdf souboru, od kterého nemám
> zdrojový kód LaTeXu popřípadě Wordu potřebuji vložit nějaký text (na
> určenou pozici na určité, většinou na první, stránce). Nevím jak na
> to. Mám zkušenosti s vkládáním pdf souborů do LaTeXu, ale vložit tam
> ještě nějaký text se mi nepodařilo. Konferenci jsem samozřejmě
> prohledal, ale fungující řešení jsem nenašel.
>
Vkládání PDF do (La)TeXového dokumentu není nic jiného než vkládání
obrázků, tj. z PDF berete stránku po stránce a vkládáte. Samozřejmě
existují balíčky, které smyčku přes všechny stránky udělají za Vás,
takže z uživatelského hlediska vidíte jeden příkaz, ale uvnitř to
funguje tak, jak jsem napsal. V principu tedy můžete v prostředí
picture dát na pozadí stránky odpovídající stránku z PDF pomocí
\includegraphics, v hranatých závorkách uvedete page=cislo (tj. číslo
stránky, kterou chcete vložit. Pak přes tuto stránku můžete v
prostředí picture dát cokoliv (text, obrázek, ...). Zbylé stránky, kam
nechcete nic přidávat, můžete zkopírovat třeba pomocí pdfpages, nebo
si můžete smyčku napsat sám. Protože mi pdfpages připadá až moc
inteligentní a někdy nevím, jak zabránit změně velikosti stran, udělal
jsem si vlastní jednoduché makro:


% Makro na zjištění počtu stran v souboru a uložení do zadané kontrolní sekvence
\def\ZWPDFgetnum #1 #2{\pdfximage{#1}\edef#2{\the\pdflastximagepages}}

\newcommand*\PagesFrom[2][-]{\ZWPDFgetnum #2.pdf \ZW at numpages
  \def\if@@@ZWnominus ##1-##2\@@@{\ifcat$##2$}%
  \def\ZW@@@ ##1-##2 {%
    \ZW at firstpage \ifcat$##1$ 1 \else ##1 \fi
    \ZW at lastpage \ifcat$##2$ \ZW at numpages \else ##2 \fi}%
  \if@@@ZWnominus #1-\@@@
    \ZW at firstpage #1 \ZW at lastpage\ZW at firstpage
  \else \ZW@@@ #1 \fi
  \setcounter{page}{\ZW at firstpage}%
  \ifnum\ZW at lastpage>\ZW at numpages  \ZW at lastpage\ZW at numpages \fi
  \loop
    \noindent\includegraphics[page=\number\ZW at firstpage]{#2.pdf}\par
  \ifnum\ZW at firstpage<\ZW at lastpage
    \advance\ZW at firstpage 1
  \repeat}

\newcount\ZW at firstpage
\newcount\ZW at lastpage

Makro \ZWPDFgetnum jsem okoukal právě z pdfpages. Mimochodem, občas
mám vyplnit formulář, který dostanu v nevyplnitelném PDF. Mám na to
makro, které do pozadí natáhne stránku z PDF, přes to nakreslí síť,
aby se rozměry snadno měřily, a pak mám makro, kterému zadám
souřadnice a text. Když jsem se vzhledem spokojen, vypnu síť a
formulář vytisknu.

> Prosím o radu a předem díky,
> Honza
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex



-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list