+ /* Outline etc, only if pdfmark is supported */
+ fprintf(fp, "/pdfmark where { pop %% if\n");
+ fprintf(fp, " [/PageMode/UseOutlines/DOCVIEW pdfmark\n");
+ noe = doc->n_outline_elements;
+ for (oe = doc->outline_elements; noe; oe++, noe--) {
+ char *title;
+ int titlelen, count, i;
+
+ title = pdf_outline_convert(oe->pdata->outline_title, &titlelen);
+
+ count = 0;
+ for (i = 1; i < noe && oe[i].level > oe->level; i++)
+ if (oe[i].level == oe->level + 1)
+ count++;
+ if (oe->level > 0) count = -count;
+
+ fprintf(fp, " [/Title");
+ ps_string_len(fp, title, titlelen);
+ sfree(title);
+ fprintf(fp, "/Dest%s/Count %d/OUT pdfmark\n",
+ (char *)oe->pdata->first->page->spare, count);
+ }
+ fprintf(fp, "} if\n");