CCIMXDesktop
 
Loading...
Searching...
No Matches
mupdf_tools.h
1#ifndef MUPDF_TOOLS_H
2#define MUPDF_TOOLS_H
3#include <QImage>
4#include <QString>
5#include <QVariant>
6
7/*
8 * MuPDF tools provide lightweight operations for PDF documents.
9 * The following meta keys correspond to MuPDF's supported metadata:
10 *
11 * #define FZ_META_FORMAT "format"
12 * #define FZ_META_ENCRYPTION "encryption"
13 *
14 * #define FZ_META_INFO "info:"
15 * #define FZ_META_INFO_TITLE "info:Title"
16 * #define FZ_META_INFO_AUTHOR "info:Author"
17 * #define FZ_META_INFO_SUBJECT "info:Subject"
18 * #define FZ_META_INFO_KEYWORDS "info:Keywords"
19 * #define FZ_META_INFO_CREATOR "info:Creator"
20 * #define FZ_META_INFO_PRODUCER "info:Producer"
21 * #define FZ_META_INFO_CREATIONDATE "info:CreationDate"
22 * #define FZ_META_INFO_MODIFICATIONDATE "info:ModDate"
23 */
24
25class CCPdfDocument;
26
32 Q_GADGET
33public:
38 enum class Field {
39 Author,
40 Title,
41 Subject,
42 Keywords,
43 Creator,
44 Producer,
47 };
53
54 QString author;
55 QString title;
56 QString subject;
57 QString keywords;
58 QString creator;
59 QString producer;
62};
63
73
79 QString chapter_title;
81 QList<CCPdfChapterNode> childs;
82};
83
88namespace ccpdf_tools {
89
97
105QVariant request_target_meta(const CCPdfDocument* document,
106 const CCPdfMetaInfo::Field field);
107
114QImage request_target_page(CCPdfImageRequest* simpleRequest);
115
122QList<CCPdfChapterNode> request_chapter_tree(const CCPdfDocument* document);
123
124}
125
126#endif // MUPDF_TOOLS_H
The CCPdfDocument class CCPdfDocument manages the lifetime and access to a PDF document....
Definition ccpdfdocument.h:24
Definition mupdf_tools.cpp:19
QVariant request_target_meta(const CCPdfDocument *document, const CCPdfMetaInfo::Field field)
request_target_meta Request a specific metadata field from the PDF document.
Definition mupdf_tools.cpp:67
QImage request_target_page(CCPdfImageRequest *simpleRequest)
request_target_page Request a rendered image of a specific page.
Definition mupdf_tools.cpp:128
CCPdfMetaInfo request_meta(const CCPdfDocument *document)
request_meta Request all metadata from a PDF document.
Definition mupdf_tools.cpp:24
QList< CCPdfChapterNode > request_chapter_tree(const CCPdfDocument *document)
request_chapter_tree Request the chapter/bookmark tree of the PDF document.
Definition mupdf_tools.cpp:203
CCPdfChapterNode Represents a single node in the chapter/bookmark tree.
Definition mupdf_tools.h:78
QString chapter_title
Title of this chapter.
Definition mupdf_tools.h:79
int chapter_page
Page number referred by this chapter.
Definition mupdf_tools.h:80
QList< CCPdfChapterNode > childs
List of child chapter nodes.
Definition mupdf_tools.h:81
CCPdfImageRequest Request data structure for rendering a page as an image.
Definition mupdf_tools.h:68
float zoom
Zoom factor for rendering.
Definition mupdf_tools.h:71
int request_page
Page index to render.
Definition mupdf_tools.h:70
CCPdfDocument * request_document
Pointer to the PDF document.
Definition mupdf_tools.h:69
CCPdfMetaInfo Holds metadata extracted from a PDF document.
Definition mupdf_tools.h:31
QString creator
Application that created the document.
Definition mupdf_tools.h:58
Field
Field Enum representing available metadata fields.
Definition mupdf_tools.h:38
@ ModifyDateTime
Last modification datetime.
@ CreationDateTime
Document creation datetime.
@ Keywords
Keywords associated with the document.
@ Author
The document's author.
@ Producer
PDF producing software.
@ Title
The document's title.
@ Subject
The document's subject.
@ Creator
Application that created the document.
QString producer
Software that produced the PDF.
Definition mupdf_tools.h:59
QString creation_datetime
Creation date/time string.
Definition mupdf_tools.h:60
QString subject
The document's subject.
Definition mupdf_tools.h:56
QString title
The document's title.
Definition mupdf_tools.h:55
QString modify_datetime
Modification date/time string.
Definition mupdf_tools.h:61
QString author
The document's author.
Definition mupdf_tools.h:54
QString keywords
Keywords for classification.
Definition mupdf_tools.h:57
Q_ENUM(Field)
enum object