diff --git a/utils/pdftoabw.cc b/utils/pdftoabw.cc --- a/utils/pdftoabw.cc +++ b/utils/pdftoabw.cc @@ -49,7 +49,9 @@ static int firstPage = 1; static int lastPage = 0; +static GBool quiet = gFalse; static GBool printHelp = gFalse; +static GBool printVersion = gFalse; static GBool stout = gFalse; static char ownerPassword[33] = ""; static char userPassword[33] = ""; @@ -61,20 +63,29 @@ "first page to convert"}, {"-l", argInt, &lastPage, 0, "last page to convert"}, - {"-h", argFlag, &printHelp, 0, - "print usage information"}, - {"--help", argFlag, &printHelp, 0, - "print usage information"}, {"--stdout" ,argFlag, &stout, 0, "use standard output"}, {"--opw", argString, ownerPassword, sizeof(ownerPassword), "owner password (for encrypted files)"}, {"--upw", argString, userPassword, sizeof(userPassword), "user password (for encrypted files)"}, + {"-q", argFlag, &quiet, 0, + "don't print any messages or errors"}, + {"-v", argFlag, &printVersion, 0, + "print copyright and version info"}, + {"-h", argFlag, &printHelp, 0, + "print usage information"}, + {"-help", argFlag, &printHelp, 0, + "print usage information"}, + {"--help", argFlag, &printHelp, 0, + "print usage information"}, + {"-?", argFlag, &printHelp, 0, + "print usage information"}, {NULL} }; int main(int argc, char *argv[]) { + GBool ok; PDFDoc *doc = NULL; GooString *fileName = NULL; // GooString *abwFileName = NULL; @@ -89,11 +100,23 @@ xmlDocPtr XMLdoc = NULL; // parse args - parseArgs(argDesc, &argc, argv); + ok = parseArgs(argDesc, &argc, argv); + if (!ok || argc < 2 || argc > 3 || printVersion || printHelp) { + fprintf(stderr, "pdftoabw version %s\n", PACKAGE_VERSION); + fprintf(stderr, "%s\n", popplerCopyright); + fprintf(stderr, "%s\n", xpdfCopyright); + if (!printVersion) { + printUsage("pdftoppm", " [XML-file]", argDesc); + } + goto err0; + } globalParams = new GlobalParams(); + if (quiet) { + globalParams->setErrQuiet(quiet); + } fileName = new GooString(argv[1]); - if (stout || (argc < 2)){ + if (stout || (argc < 3)){ outpName = "-"; } else { @@ -159,7 +182,7 @@ if(doc) delete doc; if(XMLdoc) xmlFreeDoc(XMLdoc); if(abwOut) delete abwOut; - + err0: // check for memory leaks Object::memCheck(stderr); gMemReport(stderr);