+ if(is_in_range(t, pagerange)) {
+ /* for links: FIXME */
+ pdfswf_preparepage(t);
+ }
+ if(is_in_range(t, pagerange)) {
+ pdf_page_t*page = pdf_getpage(pdf, t);
+ if(nup) {
+ pdf_page_info_t* info = pdf_page_getinfo(page);
+ if(nup_pos%nup == 0) {
+ pdf_page_render(page, swf);
+ x = info->xMax;
+ y = info->yMax;
+ } else if(nup_pos%nup == 1) {
+ pdf_page_rendersection(page, swf, x, 0, info->xMin+x, info->yMin, info->xMax+x, info->yMax);
+ } else if(nup_pos%nup == 2) {
+ pdf_page_rendersection(page, swf, 0, y, info->xMin, info->yMin+y, info->xMax, info->yMax+y);
+ } else if(nup_pos%nup == 3) {
+ pdf_page_rendersection(page, swf, x, y, info->xMin+x, info->yMin+y, info->xMax+x, info->yMax+y);
+ }
+ if(nup_pos % nup == nup-1)
+ swf_output_pagefeed(swf);
+
+ pdf_page_info_destroy(info);
+ } else {
+ pdf_page_render(page, swf);
+ swf_output_pagefeed(swf);
+ }
+
+ pdf_page_destroy(page);
+ }
+ nup_pos++;
+ }
+ if(!swf_output_save(swf, outputname))
+ exit(1);
+ swf_output_destroy(swf);
+
+ pdf_destroy(pdf);
+
+ if(viewer || preloader) {
+#ifndef SYSTEM_BACKTICKS
+ msg("<warning> Not sure whether system() can handle command substitution");
+ msg("<warning> (According to config.h, it can't)");
+#endif
+ if(!system_quiet)
+ printf("\n");
+ }
+
+ if(viewer && !preloader) {
+ systemf("swfcombine `swfdump -XY \"%s\"` \"%s\" viewport=\"%s\" -o \"%s\"",
+ outputname, viewer, outputname, outputname);
+ if(!system_quiet)
+ printf("\n");
+ }
+ if(preloader && !viewer) {
+ msg("<warning> --preloader option without --viewer option doesn't make very much sense.");
+ ret = systemf("swfcombine `swfdump -r \"%s\"` %s/PreLoaderTemplate.swf loader=\"%s\" movie=\"%s\" -o \"%s\"",
+ preloader, SWFDIR, preloader, outputname, outputname);
+ if(!system_quiet)
+ printf("\n");
+ }
+ if(preloader && viewer) {
+ systemf("swfcombine \"%s\" viewport=%s -o __tmp__.swf",
+ viewer, outputname, outputname);
+ systemf("swfcombine `swfdump -XY \"%s\"` `swfdump -r \"%s\"` %s/PreLoaderTemplate.swf loader=%s movie=__tmp__.swf -o \"%s\"",
+ outputname, preloader, SWFDIR, preloader, outputname);
+ systemf("rm __tmp__.swf");