X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fpdf2swf.c;h=edc9bbc31687e93b5bd35b994151600552fa615f;hb=2fb94db6898305c25e25dae192b3f73e47a062a7;hp=6a615718e2051bee7fb8823794f43adddf2c543e;hpb=02324a6b804c8ba7bff6ca581a70b52d84b166e6;p=swftools.git diff --git a/src/pdf2swf.c b/src/pdf2swf.c index 6a61571..edc9bbc 100644 --- a/src/pdf2swf.c +++ b/src/pdf2swf.c @@ -36,6 +36,7 @@ #include "../lib/rfxswf.h" #include "../lib/devices/swf.h" #include "../lib/devices/arts.h" +#include "../lib/devices/record.h" #include "../lib/pdf/pdf.h" #include "../lib/log.h" @@ -489,8 +490,6 @@ int main(int argn, char *argv[]) initLog(0,-1,0,0,-1,loglevel); - driver = gfxsource_pdf_create(); - #if defined(WIN32) && defined(HAVE_STAT) && defined(HAVE_SYS_STAT_H) if(installPath) { fontdir = concatPaths(installPath, "fonts"); @@ -513,8 +512,10 @@ int main(int argn, char *argv[]) srand(time(0)); #endif #endif - processargs(argn, argv); + driver = gfxsource_pdf_create(); + processargs(argn, argv); + if(!filename) { fprintf(stderr, "Please specify an input file\n"); @@ -543,6 +544,9 @@ int main(int argn, char *argv[]) // test if the page range is o.k. is_in_range(0x7fffffff, pagerange); + if(pagerange) + driver->set_parameter("pages", pagerange); + if (!filename) { args_callback_usage(argv[0]); exit(0); @@ -573,7 +577,7 @@ int main(int argn, char *argv[]) gfxdevice_t*out; if(flatten) { - gfxdevice_arts_init(&wrap, &swf); + gfxdevice_removeclippings_init(&wrap, &swf); out = &wrap; } else { out = &swf; @@ -670,6 +674,7 @@ int main(int argn, char *argv[]) } gfxresult_t*result = out->finish(out); + if(result->save(result, outputname) < 0) { exit(1); } @@ -683,43 +688,25 @@ int main(int argn, char *argv[]) pdf->destroy(pdf); char*zip = ""; - if(zlib) + if(zlib) { zip = "-z"; -#undef SYSTEM_BACKTICKS - if(viewer && !preloader) { -#ifdef SYSTEM_BACKTICKS - systemf("swfcombine %s `swfdump -XY \"%s\"` \"%s\" viewport=\"%s\" -o \"%s\"",zip, - viewer, outputname, outputname); -#else systemf("swfcombine %s -X %d -Y %d \"%s\" viewport=\"%s\" -o \"%s\"",zip,width,height, viewer, outputname, outputname); -#endif if(!system_quiet) printf("\n"); } if(preloader && !viewer) { msg(" --preloader option without --viewer option doesn't make very much sense."); -#ifdef SYSTEM_BACKTICKS - ret = systemf("swfcombine %s `swfdump -r \"%s\"` %s/PreLoaderTemplate.swf loader=\"%s\" movie=\"%s\" -o \"%s\"",zip, - preloader, SWFDIR, preloader, outputname, outputname); -#else ret = systemf("swfcombine %s -Y %d -X %d %s/PreLoaderTemplate.swf loader=\"%s\" movie=\"%s\" -o \"%s\"",zip,width,height, SWFDIR, preloader, outputname, outputname); -#endif if(!system_quiet) printf("\n"); } if(preloader && viewer) { systemf("swfcombine \"%s\" viewport=%s -o __tmp__.swf", - viewer, outputname, outputname); -#ifdef SYSTEM_BACKTICKS - systemf("swfcombine %s `swfdump -XY \"%s\"` `swfdump -r \"%s\"` %s/PreLoaderTemplate.swf loader=%s movie=__tmp__.swf -o \"%s\"",zip, - outputname, preloader, SWFDIR, preloader, outputname); -#else - /* TODO: read out rate */ + viewer, outputname); systemf("swfcombine %s -X %d -Y %d -r %f %s/PreLoaderTemplate.swf loader=%s movie=__tmp__.swf -o \"%s\"",zip,width,height, - getRate(preloader), preloader, SWFDIR, preloader, outputname); -#endif + getRate(preloader), SWFDIR, preloader, outputname); systemf("rm __tmp__.swf"); }