blob: 5684454358c052662eb3d295aba35bff0e744038 [file] [log] [blame]
#include <QtCore/QDebug>
#include <QtCore/QDir>
#include <QtCore/QTime>
#include <QtGui/QApplication>
#include <QtGui/QImage>
#include <iostream>
#include <poppler-qt4.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv ); // QApplication required!
Q_UNUSED( argc );
Q_UNUSED( argv );
QTime t;
t.start();
QDir dbDir( QString( "./pdfdb" ) );
if ( !dbDir.exists() ) {
qWarning() << "Database directory does not exist";
}
QStringList excludeSubDirs;
excludeSubDirs << "000048" << "000607";
foreach ( const QString &subdir, dbDir.entryList(QStringList() << "0000*", QDir::Dirs) ) {
if ( excludeSubDirs.contains(subdir) ) {
// then skip it
} else {
QString path = "./pdfdb/" + subdir + "/data.pdf";
std::cout <<"Doing " << path.toLatin1().data() << " :";
Poppler::Document *doc = Poppler::Document::load( path );
if (!doc) {
qWarning() << "doc not loaded";
} else {
int major = 0, minor = 0;
doc->getPdfVersion( &major, &minor );
doc->info("Title");
doc->info("Subject");
doc->info("Author");
doc->info("Keywords");
doc->info("Creator");
doc->info("Producer");
doc->date("CreationDate").toString();
doc->date("ModDate").toString();
doc->numPages();
doc->isLinearized();
doc->isEncrypted();
doc->okToPrint();
doc->okToCopy();
doc->okToChange();
doc->okToAddNotes();
doc->pageMode();
for( int index = 0; index < doc->numPages(); ++index ) {
Poppler::Page *page = doc->page( index );
QImage image = page->renderToImage();
page->pageSize();
page->orientation();
delete page;
std::cout << ".";
std::cout.flush();
}
std::cout << std::endl;
delete doc;
}
}
}
std::cout << "Elapsed time: " << (t.elapsed()/1000) << std::endl;
}