}
private void writeNamedDestinations(RenderingContext c) {
Map idMap = getSharedContext().getIdMap();
if ((idMap != null) && (!idMap.isEmpty())) {
PdfArray dests = new PdfArray();
try {
Iterator it = idMap.entrySet().iterator();
while (it.hasNext()) {
Entry entry = (Entry) it.next();
Box targetBox = (Box) entry.getValue();
if (targetBox.getStyle().isIdent(CSSName.FS_NAMED_DESTINATION, IdentValue.CREATE)) {
String anchorName = (String) entry.getKey();
dests.add(new PdfString(anchorName, PdfString.TEXT_UNICODE));
PdfDestination dest = createDestination(c, targetBox);
if (dest != null) {
PdfIndirectReference ref = _writer.addToBody(dest).getIndirectReference();
dests.add(ref);
}
}
}
if (!dests.isEmpty()) {
PdfDictionary nametree = new PdfDictionary();
nametree.put(PdfName.NAMES, dests);
PdfIndirectReference nameTreeRef = _writer.addToBody(nametree).getIndirectReference();
PdfDictionary names = new PdfDictionary();