mupdf-qt  0.1
Qt5 interface of the popular PDF library MuPDF
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Pages
mupdf-document.h
Go to the documentation of this file.
1 #ifndef MUPDF_DOCUMENT_H
2 #define MUPDF_DOCUMENT_H
3 
4 #include <QByteArray>
5 
6 class QString;
7 class QDateTime;
8 
9 namespace MuPDF
10 {
11 class Document;
12 class DocumentPrivate;
13 class Page;
14 class Outline;
15 
16 Document * loadDocument(const QString &filePath);
17 Document * loadDocument(const QByteArray &bytes);
18 
19 class Document
20 {
21 public:
22  ~Document();
23  bool needsPassword() const;
24  bool authPassword(const QString &password);
25  int numPages() const;
26  Page * page(int index) const;
27  Outline * outline() const;
28  // TODO QJsonObject toc() const;
29  QString pdfVersion() const;
30  QString title() const;
31  QString author() const;
32  QString subject() const;
33  QString keywords() const;
34  QString creator() const;
35  QString producer() const;
36  QDateTime creationDate() const;
37  QDateTime modDate() const;
38  void setTransparentRendering(bool enable);
39  void setBackgroundColor(int r, int g, int b, int a = 255);
40 
41 private:
42  Document(DocumentPrivate *documentp)
43  : d(documentp)
44  {
45 
46  }
47  // disable copy
48  Document(const Document &);
49  Document &operator=(const Document &);
50 
51  DocumentPrivate *d;
52 
53 friend Document *loadDocument(const QString &filePath);
54 friend Document *loadDocument(const QByteArray &bytes);
55 };
56 
57 } // end namespace MuPDF
58 
59 #endif // end MUPDF_DOCUMENT_H