int args_callback_option(char*name,char*val) { if (!strcmp(name, "o")) { outputname = val; return 1; } else if (!strcmp(name, "v")) { loglevel ++; setConsoleLogging(loglevel); return 0; } else if (!strcmp(name, "f")) { format = val; return 1; } else if (!strcmp(name, "q")) { loglevel --; setConsoleLogging(loglevel); return 0; } else if (name[0]=='p') { do { name++; } while(*name == 32 || *name == 13 || *name == 10 || *name == '\t'); if(*name) { pagerange = name; return 0; } pagerange = val; return 1; } else if (!strcmp(name, "s")) { if(!driver) { fprintf(stderr, "Specify input file before -s\n"); exit(1); } char*s = strdup(val); char*c = strchr(s, '='); if(c && *c && c[1]) { *c = 0; c++; driver->setparameter(driver, s,c); } else { driver->setparameter(driver, s,"1"); } free(s); return 1; } else if (!strcmp(name, "V")) { printf("pdf2swf - part of %s %s\n", PACKAGE, VERSION); exit(0); } else { fprintf(stderr, "Unknown option: -%s\n", name); exit(1); } return 0; }
int args_callback_option(char*name,char*val) { if (!strcmp(name, "o")) { outputname = val; return 1; } else if (!strcmp(name, "v")) { loglevel ++; setConsoleLogging(loglevel); return 0; } else if (!strcmp(name, "2")) { xnup = 2; ynup = 1; return 0; } else if (!strcmp(name, "4")) { xnup = 2; ynup = 2; return 0; } else if (!strcmp(name, "9")) { xnup = 3; ynup = 3; return 0; } else if (!strcmp(name, "X")) { maxwidth = atoi(val); return 1; } else if (!strcmp(name, "Y")) { maxheight = atoi(val); return 1; } else if (!strcmp(name, "q")) { loglevel --; setConsoleLogging(loglevel); system_quiet = 1; return 0; } else if (name[0]=='p') { /* check whether the page range follows the p directly, like in -p1,2 */ do { name++; } while(*name == 32 || *name == 13 || *name == 10 || *name == '\t'); if(*name) { pagerange = name; return 0; } pagerange = val; return 1; } else if (!strcmp(name, "P")) { password = val; return 1; } else if (!strcmp(name, "c")) { char*s = strdup(val); char*x1 = strtok(s, ":"); char*y1 = strtok(0, ":"); char*x2 = strtok(0, ":"); char*y2 = strtok(0, ":"); if(!(x1 && y1 && x2 && y2)) { fprintf(stderr, "-c option requires four arguments, <x1>:<y1>:<x2>:<y2>\n"); exit(1); } custom_clip = 1; clip_x1 = atoi(x1); clip_y1 = atoi(y1); clip_x2 = atoi(x2); clip_y2 = atoi(y2); free(s); return 1; } else if (!strcmp(name, "m")) { char*s = strdup(val); char*c = strchr(s, ':'); if(!c) { fprintf(stderr, "-m option requires two arguments, <x>:<y>\n"); exit(1); } *c = 0; custom_move = 1; move_x = atoi(val); move_y = atoi(c+1); free(s); return 1; } else if (!strcmp(name, "s")) { char*s = val; char*c = strchr(s, '='); if(c && *c && c[1]) { *c = 0; c++; store_parameter(s,c); } else if(!strcmp(s,"help")) { printf("PDF Parameters:\n"); gfxsource_t*pdf = gfxsource_pdf_create(); pdf->setparameter(pdf, "help", ""); gfxdevice_t swf; gfxdevice_swf_init(&swf); printf("SWF Parameters:\n"); swf.setparameter(&swf, "help", ""); exit(0); } else { store_parameter(s,"1"); } return 1; } else if (!strcmp(name, "S")) { store_parameter("drawonlyshapes", "1"); return 0; } else if (!strcmp(name, "i")) { store_parameter("ignoredraworder", "1"); return 0; } #ifndef WIN32 else if (!strcmp(name, "Q")) { max_time = atoi(val); alarm(max_time); # ifdef HAVE_SIGNAL_H signal(SIGALRM, sigalarm); # endif return 1; } #endif else if (!strcmp(name, "z")) { store_parameter("enablezlib", "1"); zlib = 1; return 0; } else if (!strcmp(name, "n")) { store_parameter("opennewwindow", "1"); return 0; } else if (!strcmp(name, "I")) { info_only = 1; return 0; } else if (!strcmp(name, "t")) { store_parameter("insertstop", "1"); return 0; } else if (!strcmp(name, "T")) { if(!strcasecmp(val, "mx")) store_parameter("flashversion", "6"); else store_parameter("flashversion", val); return 1; } else if (!strcmp(name, "f")) { store_parameter("storeallcharacters", "1"); store_parameter("extrafontdata", "1"); return 0; } else if (!strcmp(name, "ff")) { if(filters) { // append this to the current filter expression (we allow more than one --filter) int l = strlen(filters); int new_len = l + strlen(val) + 2; filters = (char*)realloc(filters, new_len); filters[l] = ':'; strcpy(filters+l+1, val); } else { filters = strdup(val); } return 1; } else if (!strcmp(name, "w")) { store_parameter("linksopennewwindow", "0"); return 0; } else if (!strcmp(name, "O")) { int level = 1; int ret=0; if(val&& val[0] && val[1]==0 && isdigit(val[0])) { level = atoi(val); ret=1; } if(level>=1) store_parameter("poly2bitmap", "1"); if(level>=2) store_parameter("bitmapfonts", "1"); if(level>=3) store_parameter("ignoredraworder", "1"); return ret; } else if (!strcmp(name, "G")) { //store_parameter("optimize_polygons", "1"); flatten = 1; return 0; } else if (!strcmp(name, "F")) { char *s = strdup(val); int l = strlen(s); while(l && s[l-1]=='/') { s[l-1] = 0; l--; } fontpaths[fontpathpos++] = s; return 1; } else if (!strcmp(name, "l")) { char buf[256]; sprintf(buf, "%s/default_loader.swf", SWFDIR); preloader = strdup(buf); return 0; } else if (!strcmp(name, "b")) { char buf[256]; sprintf(buf, "%s/default_viewer.swf", SWFDIR); viewer = strdup(buf); return 0; } else if (!strcmp(name, "L")) { if(val) { preloader = val; } else { systemf("ls %s/*_loader.swf", SWFDIR); if(!system_quiet) printf("\n"); exit(1); } return 1; } else if (!strcmp(name, "B")) { if(val) { viewer = val; } else { systemf("ls %s/*_viewer.swf", SWFDIR); if(!system_quiet) printf("\n"); exit(1); } return 1; } else if (!strcmp(name, "j")) { if(name[1]) { store_parameter("jpegquality", &name[1]); return 0; } else { store_parameter("jpegquality", val); return 1; } } else if (!strcmp(name, "V")) { printf("pdf2swf - part of %s %s\n", PACKAGE, VERSION); exit(0); } else { fprintf(stderr, "Unknown option: -%s\n", name); exit(1); } return 0; }
/* deprecated */ void initLog(char* filename, int filelevel, char* s00, char* s01, int s02, int screenlevel) { setFileLogging(filename, filelevel, 0); setConsoleLogging(screenlevel); }