- fprintf(fp, "/setpagedevice where {\n");
- fprintf(fp, " pop 2 dict dup /PageSize [%g %g] put setpagedevice\n",
- doc->paper_width / FUNITS_PER_PT,
- doc->paper_height / FUNITS_PER_PT);
- fprintf(fp, "} if\n");
+ ps_token(fp, &cc, "/setpagedevice where {\n");
+ ps_token(fp, &cc, " pop 2 dict dup /PageSize [%g %g] put setpagedevice\n",
+ doc->paper_width / FUNITS_PER_PT,
+ doc->paper_height / FUNITS_PER_PT);
+ ps_token(fp, &cc, "} if\n");
+
+ ps_token(fp, &cc, "[/PageMode/UseOutlines/DOCVIEW m\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);
+ if (oe->level == 0) {
+ ps_token(fp, &cc, "[/Title");
+ ps_string_len(fp, &cc, title, titlelen);
+ ps_token(fp, &cc, "/DOCINFO m\n");
+ }