A Python binding for libpoppler-qt5 that aims for completeness and for being actively maintained.
Created and currently maintained by Wilbert Berendsen <[email protected]>.
Homepage: https://pypi.python.org/pypi/python-poppler-qt5/
Usage:
import popplerqt5 d = popplerqt5.Poppler.Document.load('file.pdf')
The Python API closely follows the Poppler Qt5 C++ interface library API, documented at http://people.freedesktop.org/~aacid/docs/qt5/ .
Note: Releases of PyQt5 < 5.4 currently do not support the QtXml module,
all methods that use the QDomDocument, QDomElement and QDomNode types are
disabled. This concerns the Document::toc()
method and some constructors
and the store()
methods in the Annotation
subclasses. So, using
PyQt5 >= 5.4 is recommended.
Whereever the C++ API requires QList
, QSet
or QLinkedList
, any
Python sequence can be used.
API calls that return QList
, QSet
or QLinkedList
all return Python
lists.
There are a few other differences:
Poppler::Document::getPdfVersion(int *major, int *minor)
can simply be
called as d.getPdfVersion()
, (where d
is a Poppler::Document
instance); it will return a tuple of two integers (major, minor).
Poppler::Document
has __len__
and __getitem__
methods, corresponding
to numPages()
and page(int num)
.
Poppler::FontIterator
(returned by Poppler::Document::newFontIterator
)
is also a Python iterable (e.g. has __iter__()
and __next__()
methods).
So although you can use:
it = document.newFontIterator() while it.hasNext(): fonts = it.next() # list of FontInfo objects ...
you can also use the more Pythonic:
for fonts in document.newFontIterator(): ...
In addition to the Poppler namespace, there are two toplevel module functions:
popplerqt5.version()
- returns the version of the
python-poppler-qt5
package as a tuple of ints, e.g.(0, 18, 2)
.popplerqt5.poppler_version()
returns the version of the linked Poppler-Qt5 library as a tuple of ints, e.g.
(0, 24, 5)
.This is determined at build time. If at build time the Poppler-Qt5 version could not be determined and was not specified, an empty tuple might be returned.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。