[poppler] poppler/qt4/tests: .cvsignore, 1.5, 1.6 Makefile.am, 1.7,
1.8 test-password-qt4.cpp, NONE, 1.1
Brad Hards
bradh at freedesktop.org
Sat Aug 6 11:53:08 EST 2005
Update of /cvs/poppler/poppler/qt4/tests
In directory gabe:/tmp/cvs-serv25819/qt4/tests
Modified Files:
.cvsignore Makefile.am
Added Files:
test-password-qt4.cpp
Log Message:
Add new test code for encrypted files.
Index: .cvsignore
===================================================================
RCS file: /cvs/poppler/poppler/qt4/tests/.cvsignore,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- .cvsignore 29 Jul 2005 12:15:19 -0000 1.5
+++ .cvsignore 6 Aug 2005 01:53:06 -0000 1.6
@@ -6,6 +6,7 @@
Makefile.in
stress-poppler-qt4
test-poppler-qt4
+test-password-qt4
poppler-fonts
check_orientation
check_author
Index: Makefile.am
===================================================================
RCS file: /cvs/poppler/poppler/qt4/tests/Makefile.am,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- Makefile.am 29 Jul 2005 12:15:19 -0000 1.7
+++ Makefile.am 6 Aug 2005 01:53:06 -0000 1.8
@@ -10,7 +10,7 @@
$(POPPLER_QT4_LIBS)
noinst_PROGRAMS = test-poppler-qt4 stress-poppler-qt4 \
- poppler-fonts
+ poppler-fonts test-password-qt4
test_poppler_qt4_SOURCES = \
@@ -18,6 +18,11 @@
test_poppler_qt4_LDADD = $(LDADDS)
+test_password_qt4_SOURCES = \
+ test-password-qt4.cpp
+
+test_password_qt4_LDADD = $(LDADDS)
+
poppler_fonts_SOURCES = \
poppler-fonts.cpp
--- NEW FILE: test-password-qt4.cpp ---
#include <stdlib.h>
#include <QtCore/QtCore>
#include <QtGui/QtGui>
#include <ctype.h>
#define UNSTABLE_POPPLER_QT4
#include <poppler-qt4.h>
class PDFDisplay : public QWidget // picture display widget
{
public:
PDFDisplay( Poppler::Document *d );
~PDFDisplay();
protected:
void paintEvent( QPaintEvent * );
void keyPressEvent( QKeyEvent * );
private:
void display();
int m_currentPage;
QPixmap *pixmap;
Poppler::Document *doc;
};
PDFDisplay::PDFDisplay( Poppler::Document *d )
{
doc = d;
m_currentPage = 0;
display();
}
void PDFDisplay::display()
{
if (doc) {
Poppler::Page *page = doc->page(m_currentPage);
if (page) {
qDebug() << "Displaying page: " << m_currentPage;
pixmap = new QPixmap(page->pageSize());
page->renderToPixmap(pixmap);
update();
delete page;
}
} else {
qWarning() << "doc not loaded";
}
}
PDFDisplay::~PDFDisplay()
{
delete doc;
delete pixmap;
}
void PDFDisplay::paintEvent( QPaintEvent *e )
{
QPainter paint( this ); // paint widget
if (pixmap) {
paint.drawPixmap(0, 0, *pixmap);
} else {
qWarning() << "no pixmap";
}
}
void PDFDisplay::keyPressEvent( QKeyEvent *e )
{
if (e->key() == Qt::Key_Down)
{
if (m_currentPage + 1 < doc->numPages())
{
m_currentPage++;
display();
}
}
else if (e->key() == Qt::Key_Up)
{
if (m_currentPage > 0)
{
m_currentPage--;
display();
}
}
else if (e->key() == Qt::Key_Q)
{
exit(0);
}
}
int main( int argc, char **argv )
{
QApplication a( argc, argv ); // QApplication required!
if ( argc != 3)
{
qWarning() << "usage: test-password-qt4 owner-password filename";
exit(1);
}
Poppler::Document *doc = Poppler::Document::load(argv[2], argv[1]);
if (!doc)
{
qWarning() << "doc not loaded";
exit(1);
}
// output some meta-data
qDebug() << " PDF Version: " << doc->pdfVersion();
qDebug() << " Title: " << doc->info("Title");
qDebug() << " Subject: " << doc->info("Subject");
qDebug() << " Author: " << doc->info("Author");
qDebug() << " Key words: " << doc->info("Keywords");
qDebug() << " Creator: " << doc->info("Creator");
qDebug() << " Producer: " << doc->info("Producer");
qDebug() << " Date created: " << doc->date("CreationDate").toString();
qDebug() << " Date modified: " << doc->date("ModDate").toString();
qDebug() << "Number of pages: " << doc->numPages();
qDebug() << " Linearised: " << doc->isLinearized();
qDebug() << " Encrypted: " << doc->isEncrypted();
qDebug() << " OK to print: " << doc->okToPrint();
qDebug() << " OK to copy: " << doc->okToCopy();
qDebug() << " OK to change: " << doc->okToChange();
qDebug() << "OK to add notes: " << doc->okToAddNotes();
qDebug() << " Page mode: " << doc->pageMode();
QStringList fontNameList;
foreach( Poppler::FontInfo font, doc->fonts() )
fontNameList += font.name();
qDebug() << " Fonts: " << fontNameList.join( ", " );
Poppler::Page *page = doc->page(0);
qDebug() << " Page 1 size: " << page->pageSize().width()/72 << "inches x " << page->pageSize().height()/72 << "inches";
PDFDisplay test( doc ); // create picture display
test.setWindowTitle("Poppler-Qt4 Test");
test.show(); // show it
return a.exec(); // start event loop
}
More information about the poppler
mailing list