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