RkBlog

Hardware, programming and astronomy tutorials and reviews.

Renderowanie plików PDF za pomocą PyPoppler-qt4

Opis API widżetu udostępniającego API biblioteki Poppler do renderowania plików PDF

Poppler to biblioteka do renderowania plików PDF wykorzystywana w aplikacjach opartych o GTK+, Qt3, czy Qt4. Dostępne są też biblioteki udostępniające API Popplera dla PyQt4 oraz PyGTK. Do skompilowania tych bibliotek potrzebny jest pakiet poppler-bindings z obsługą odpowiednio GTK i Qt4. Pakiet pypoppler-qt4 dostępny jest na stronie pyqt4-extrawidgets. Kompilacja sprowadza się do wykonania poleceń python configure.py, make, make install.

Wraz z pakietem dostarczany jest przykładowy skrypt test-poppler.py przyjmujący jako argument ścieżkę do pliku PDF. Po uruchomieniu można np. zmieniać strony za pomocą strzałek góra/dół.

pypoppler

Zasada działania Popplera opiera się w tym przypadku na generowaniu grafik i wyświetlaniu ich za pomoca QPainter. Mając do dyspozycji grafikę można użyć też PictureFlow:
import sys

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import QtPoppler
from pictureflow import *

app = QApplication(sys.argv)

w = PictureFlow()
d = QtPoppler.Poppler.Document.load('plik.pdf')
d.setRenderHint(QtPoppler.Poppler.Document.Antialiasing and QtPoppler.Poppler.Document.TextAntialiasing)

page = 0
pages = d.numPages() - 1
while page < pages:
	page += 1
	print page
	w.addSlide(d.page(page).renderToImage())
w.show()

sys.exit(app.exec_())
pypoppler1
RkBlog

2 January 2009;

Comment article