A stand-alone replacement callback that will return an internal link with either the name of the cross-reference or the page on which the cross-reference appears as the label. If the page number is not yet known (when the cross-referenced item has not yet been rendered, e.g., forward-references), the label will be used in any case.
The parameters are:
The name of the cross-reference.
Either page
, title
, or text
.
page
will not be used for forward references; only
title
or text
will be used.
Required if label
has a value of text
. Ignored if
label
is title
, optional if label
is
page
. This value will be used as the display text for the
internal link. text
takes precedence over title
if label
is page
.
# File lib/pdf/techbook.rb, line 249 def self.[](pdf, params) name = params["name"] item = params["label"] text = params["text"] xref = pdf.xref_table[name] if xref case item when 'page' label = xref[:page] if text.nil? or text.empty? label ||= xref[:title] else label ||= text end when 'title' label = xref[:title] when 'text' label = text end "<c:ilink dest='#{xref[:xref]}'>#{label}</c:ilink>" else warn PDF::Writer::Lang[:techbook_unknown_xref] % [ name ] PDF::Writer::Lang[:techbook_unknown_xref] % [ name ] end end