[pdftex] pdf objects with references to each other?
Heiko Oberdiek
oberdiek at ruf.uni-freiburg.de
Sat Mar 30 02:14:28 CET 2002
On Sat, 30 Mar 2002, Robert Howlett wrote:
> \pdfannot width 12 cm height 2 cm depth 10 pt
> {/Subtype /Popup
> /T (Algebra 1)
> /Open false
> /C [0 1 1]
> /Contents
> (Lectures given at the University of Sydney for the course
> Math3902.)}
> \pdfannot height 2 cm depth 10 pt
> {/Subtype /Text
> /C [0 1 1]
> /Popup \the\pdflastannot\space 0 R}%
>
> i.e. the T and Contents entries go into the popup
> instead of the text annotation itself.
> What I would have liked to do is have the T and Contents
> entries in the dictionary of the text annotation and
> put a Parent key in the dictionary of the popup referring
> back to the text annotation. However, this means having
> entries in the dictionaries of each text annotation
> and the popup annotation referring to the other.
> I can't figure out a way to do this with pdftex.
> It seems to me that I need to be able to tell pdftex to
> choose some number that has not yet been used
> for an object, create an indirect reference to a
> yet-to-be-constructed object with that number, and then
> later make an object with that number.
> Can this be done?
You can use a pdf object without referencing:
\setbox0=\hbox{Click}
\edef\APNrule{width\the\wd0 height\the\ht0 depth\the\dp0}
\immediate\pdfxform0
\edef\APNobj{\the\pdflastxform}
\pdfobj{}%
\pdfannot ... {%
/Subtype/Popup%
/Parent \the\numexpr\pdflastobj+2\relax\space 0 R%
/Open false%
/C[0 1 1]%
}%
\pdfannot\APNrule{%
/Subtype/Text%
/Popup \the\pdflastannot\space 0 R%
/C[0 1 1]%
/T(...)%
/Contents(...)%
/AP<</N \APNobj\space 0 R>>%
}
Without e-TeX: \pdflastobj has to be stored in a counter
register after \pdfobj{} and the register is then
incremented by 2 and is used in the next \pdfannot command
instead of \numexpr.
Yours sincerely
Heiko <oberdiek at uni-freiburg.de>
More information about the pdftex
mailing list