//
// pdfimages.cc
//
-// Copyright 1998-2002 Glyph & Cog, LLC
+// Copyright 1998-2003 Glyph & Cog, LLC
//
//========================================================================
#include "PDFDoc.h"
#include "ImageOutputDev.h"
#include "Error.h"
-#include "config.h"
+#include "xpdfconfig.h"
static int firstPage = 1;
static int lastPage = 0;
static GBool dumpJPEG = gFalse;
-static char ownerPassword[33] = "";
-static char userPassword[33] = "";
+static char ownerPassword[33] = "\001";
+static char userPassword[33] = "\001";
static GBool quiet = gFalse;
static char cfgFileName[256] = "";
static GBool printVersion = gFalse;
GString *ownerPW, *userPW;
ImageOutputDev *imgOut;
GBool ok;
+ int exitCode;
+
+ exitCode = 99;
// parse args
ok = parseArgs(argDesc, &argc, argv);
if (!printVersion) {
printUsage("pdfimages", "<PDF-file> <image-root>", argDesc);
}
- exit(1);
+ goto err0;
}
fileName = new GString(argv[1]);
imgRoot = argv[2];
}
// open PDF file
- if (ownerPassword[0]) {
+ if (ownerPassword[0] != '\001') {
ownerPW = new GString(ownerPassword);
} else {
ownerPW = NULL;
}
- if (userPassword[0]) {
+ if (userPassword[0] != '\001') {
userPW = new GString(userPassword);
} else {
userPW = NULL;
delete ownerPW;
}
if (!doc->isOk()) {
- goto err;
+ exitCode = 1;
+ goto err1;
}
// check for copy permission
if (!doc->okToCopy()) {
error(-1, "Copying of images from this document is not allowed.");
- goto err;
+ exitCode = 3;
+ goto err1;
}
// get page range
// write image files
imgOut = new ImageOutputDev(imgRoot, dumpJPEG);
- if (imgOut->isOk())
- doc->displayPages(imgOut, firstPage, lastPage, 72, 0, gFalse);
+ if (imgOut->isOk()) {
+ doc->displayPages(imgOut, firstPage, lastPage, 72, 72, 0, gTrue, gFalse);
+ }
delete imgOut;
+ exitCode = 0;
+
// clean up
- err:
+ err1:
delete doc;
delete globalParams;
+ err0:
// check for memory leaks
Object::memCheck(stderr);
gMemReport(stderr);
- return 0;
+ return exitCode;
}