X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=src%2Fpdf2swf.c;h=04c860f7b4204374479ae0bdf075c014771e0aee;hp=2f5b7b5f9f2ff3e82304c8b444a672f537313934;hb=7d65cab745499277588a5ab47c336d218c7a7a31;hpb=408548d87d56d17a707415fa2374fd688655c777 diff --git a/src/pdf2swf.c b/src/pdf2swf.c index 2f5b7b5..04c860f 100644 --- a/src/pdf2swf.c +++ b/src/pdf2swf.c @@ -28,9 +28,6 @@ #ifdef HAVE_DIRENT_H #include #endif -#ifdef HAVE_SYS_STAT_H -#include -#endif #include "../lib/args.h" #include "../lib/os.h" #include "../lib/rfxswf.h" @@ -190,31 +187,31 @@ int args_callback_option(char*name,char*val) { if(c && *c && c[1]) { *c = 0; c++; - driver->set_parameter(s,c); + driver->set_parameter(driver, s,c); } else - driver->set_parameter(s,"1"); + driver->set_parameter(driver, s,"1"); return 1; } else if (!strcmp(name, "S")) { - driver->set_parameter("drawonlyshapes", "1"); + driver->set_parameter(driver, "drawonlyshapes", "1"); return 0; } else if (!strcmp(name, "i")) { - driver->set_parameter("ignoredraworder", "1"); + driver->set_parameter(driver, "ignoredraworder", "1"); return 0; } else if (!strcmp(name, "z")) { - driver->set_parameter("enablezlib", "1"); + driver->set_parameter(driver, "enablezlib", "1"); zlib = 1; return 0; } else if (!strcmp(name, "n")) { - driver->set_parameter("opennewwindow", "1"); + driver->set_parameter(driver, "opennewwindow", "1"); return 0; } else if (!strcmp(name, "I")) @@ -224,26 +221,27 @@ int args_callback_option(char*name,char*val) { } else if (!strcmp(name, "t")) { - driver->set_parameter("insertstop", "1"); + driver->set_parameter(driver, "insertstop", "1"); return 0; } else if (!strcmp(name, "T")) { if(!strcasecmp(val, "mx")) - driver->set_parameter("flashversion", "6"); + driver->set_parameter(driver, "flashversion", "6"); else - driver->set_parameter("flashversion", val); + driver->set_parameter(driver, "flashversion", val); return 1; } else if (!strcmp(name, "f")) { - driver->set_parameter("storeallcharacters", "1"); + driver->set_parameter(driver, "storeallcharacters", "1"); + driver->set_parameter(driver, "extrafontdata", "1"); return 0; } else if (!strcmp(name, "w")) { - driver->set_parameter("linksopennewwindow", "0"); + driver->set_parameter(driver, "linksopennewwindow", "0"); return 0; } else if (!strcmp(name, "G")) @@ -309,10 +307,10 @@ int args_callback_option(char*name,char*val) { else if (!strcmp(name, "j")) { if(name[1]) { - driver->set_parameter("jpegquality", &name[1]); + driver->set_parameter(driver, "jpegquality", &name[1]); return 0; } else { - driver->set_parameter("jpegquality", val); + driver->set_parameter(driver, "jpegquality", val); return 1; } } @@ -417,6 +415,7 @@ void args_callback_usage(char*name) " graphic errors)\n"); printf("-s filloverlap Make intersecting shapes overlap, instead of canceling each\n" " other out. (Needed for some Powerpoint PDFs)\n"); + printf("-s transparent Make the SWF transparent\n"); //deliberately undocumented (for now) //printf("-2 Put 2 pages into each frame.\n"); //printf("-4 Put 4 pages into each frame.\n"); @@ -450,7 +449,7 @@ float getRate(char*filename) void show_info(gfxsource_t*driver, char*filename) { - gfxdocument_t* pdf = driver->open(filename); + gfxdocument_t* pdf = driver->open(driver, filename); int pagenr; FILE*fo=0; if(!pdf) { @@ -486,24 +485,13 @@ int main(int argn, char *argv[]) int nup_pos = 0; int x,y; char* installPath = getInstallationPath(); - char* fontdir = 0; initLog(0,-1,0,0,-1,loglevel); -#if defined(WIN32) && defined(HAVE_STAT) && defined(HAVE_SYS_STAT_H) - if(installPath) { - fontdir = concatPaths(installPath, "fonts"); - FILE*test = fopen(concatPaths(fontdir,"\\d050000l.afm"), "rb"); - if(!test) { - fprintf(stderr, "Couldn't find file %s - pdf2swf not installed properly? OS says:\n", concatPaths(fontdir, "\\d050000l.afm")); - perror("open"); - exit(1); - } - fclose(test); - } -#else - fontdir = concatPaths(installPath, "fonts"); -#endif + /* not needed anymore since fonts are embedded + if(installPath) { + fontpaths[fontpathpos++] = concatPaths(installPath, "fonts"); + }*/ #ifdef HAVE_SRAND48 srand48(time(0)); @@ -545,7 +533,7 @@ int main(int argn, char *argv[]) is_in_range(0x7fffffff, pagerange); if(pagerange) - driver->set_parameter("pages", pagerange); + driver->set_parameter(driver, "pages", pagerange); if (!filename) { args_callback_usage(argv[0]); @@ -553,11 +541,8 @@ int main(int argn, char *argv[]) } /* add fonts */ - if(fontdir) { - driver->set_parameter("fontdir", fontdir); - } for(t=0;tset_parameter("fontdir", fontpaths[t]); + driver->set_parameter(driver, "fontdir", fontpaths[t]); } char fullname[256]; @@ -566,7 +551,7 @@ int main(int argn, char *argv[]) filename = fullname; } - gfxdocument_t* pdf = driver->open(filename); + gfxdocument_t* pdf = driver->open(driver, filename); if(!pdf) { msg(" Couldn't open %s", filename); exit(1); @@ -687,9 +672,11 @@ int main(int argn, char *argv[]) pdf->destroy(pdf); - char*zip = ""; - if(zlib) + const char*zip = ""; + if(zlib) { zip = "-z"; + } + if(!preloader && viewer) { systemf("swfcombine %s -X %d -Y %d \"%s\" viewport=\"%s\" -o \"%s\"",zip,width,height, viewer, outputname, outputname); if(!system_quiet)