node-pdfutils
PdfDocument.h
1 /*
2  * PdfDocument.h
3  * Copyright (C) 2014 tox <tox@rootkit>
4  *
5  * Distributed under terms of the MIT license.
6  */
7 
8 #ifndef PDFDOCUMENT_H
9 #define PDFDOCUMENT_H
10 
11 enum PdfPageLayout {
12  PAGE_LAYOUT_UNSET,
13  PAGE_LAYOUT_SINGLE_PAGE,
14  PAGE_LAYOUT_ONE_COLUMN,
15  PAGE_LAYOUT_TWO_COLUMN_LEFT,
16  PAGE_LAYOUT_TWO_COLUMN_RIGHT,
17  PAGE_LAYOUT_TWO_PAGE_LEFT,
18  PAGE_LAYOUT_TWO_PAGE_RIGHT,
19  PAGE_LAYOUT_LAST
20 };
21 
22 enum PdfPageMode {
23  PAGE_MODE_UNSET,
24  PAGE_MODE_NONE,
25  PAGE_MODE_USE_OUTLINES,
26  PAGE_MODE_USE_THUMBS,
27  PAGE_MODE_FULL_SCREEN,
28  PAGE_MODE_USE_OC,
29  PAGE_MODE_USE_ATTACHMENTS,
30  PAGE_MODE_LAST
31 };
32 
33 enum PdfPermission {
34  PERMISSIONS_PRINT,
35  PERMISSIONS_MODIFY,
36  PERMISSIONS_COPY,
37  PERMISSIONS_ADD_NOTES,
38  PERMISSIONS_FILL_FORM,
39  PERMISSIONS_EXTRACT_CONTENTS,
40  PERMISSIONS_ASSEMBLE,
41  PERMISSIONS_PRINT_HIGH_RESOLUTION,
42  PERMISSIONS_LAST
43 };
44 
50 class PdfDocument {
51 private:
52  int _length;
53  const char *_author;
54  int _creationDate;
55  const char *_creator;
56  const char *_format;
57  const char * _keywords;
58  bool _linearized;
59  const char *_metadata;
60  int _modDate;
61  enum PdfPageLayout _pageLayout;
62  enum PdfPageMode _pageMode;
63  int _permissions;
64  const char *_producer;
65  const char *_subject;
66  const char *_title;
67 
68 public:
72  int length();
76  const char *author();
80  int creationDate();
84  const char *creator();
88  const char *format();
92  const char *keywords();
96  bool linearized();
100  const char *metadata();
104  int modDate();
108  enum PdfPageLayout pageLayout();
112  enum PdfPageMode pageMode();
116  int permissions();
120  const char *producer();
124  const char *subject();
128  const char *title();
129 
133  void setLength(const int length);
137  void setAuthor(const char *author);
141  void setCreationDate(const int creationDate);
145  void setCreator(const char *creator);
149  void setFormat(const char *format);
153  void setKeywords(const char * keywords);
157  void setLinearized(const bool linearized);
161  void setMetadata(const char *metadata);
165  void setModDate(const int modDate);
169  void setPageLayout(const enum PdfPageLayout pageLayout);
173  void setPageMode(const enum PdfPageMode pageMode);
177  void setPermissions(const int permissions);
181  void setProducer(const char *producer);
185  void setSubject(const char *subject);
189  void setTitle(const char *title);
190 };
191 
192 #endif /* !PDFDOCUMENT_H */
void setKeywords(const char *keywords)
sets keywords of this document
Definition: PdfDocument.cpp:71
int permissions()
permissions of this document
Definition: PdfDocument.cpp:43
const char * keywords()
keywords of this document
Definition: PdfDocument.cpp:25
void setCreationDate(const int creationDate)
sets creation date of this document
Definition: PdfDocument.cpp:62
const char * format()
format of this document
Definition: PdfDocument.cpp:22
Class representation of a PDF-Document.
Definition: PdfDocument.h:50
const char * title()
title of this document
Definition: PdfDocument.cpp:52
const char * subject()
subject of this document
Definition: PdfDocument.cpp:49
void setPermissions(const int permissions)
sets permissions of this document
Definition: PdfDocument.cpp:89
void setCreator(const char *creator)
sets creator of this document
Definition: PdfDocument.cpp:65
const char * producer()
producer of this document
Definition: PdfDocument.cpp:46
void setAuthor(const char *author)
sets author of this document
Definition: PdfDocument.cpp:59
void setTitle(const char *title)
sets title of this document
Definition: PdfDocument.cpp:98
void setLinearized(const bool linearized)
sets whether this document is linearized
Definition: PdfDocument.cpp:74
void setLength(const int length)
set number of pages in this document
Definition: PdfDocument.cpp:56
void setProducer(const char *producer)
sets producer of this document
Definition: PdfDocument.cpp:92
int creationDate()
creation date of this document
Definition: PdfDocument.cpp:16
enum PdfPageMode pageMode()
page mode of this document
Definition: PdfDocument.cpp:40
int modDate()
modification date of this document
Definition: PdfDocument.cpp:34
int length()
number of pages in this docoument
Definition: PdfDocument.cpp:10
void setFormat(const char *format)
sets format of this document
Definition: PdfDocument.cpp:68
const char * author()
author of this document
Definition: PdfDocument.cpp:13
void setModDate(const int modDate)
sets page layout of this document
Definition: PdfDocument.cpp:80
const char * creator()
creator of this document
Definition: PdfDocument.cpp:19
bool linearized()
whether this document is linearized
Definition: PdfDocument.cpp:28
enum PdfPageLayout pageLayout()
page layout of this document
Definition: PdfDocument.cpp:37
void setMetadata(const char *metadata)
sets modification date of this document
Definition: PdfDocument.cpp:77
void setPageLayout(const enum PdfPageLayout pageLayout)
sets page layout of this document
Definition: PdfDocument.cpp:83
const char * metadata()
metadata of this document
Definition: PdfDocument.cpp:31
void setPageMode(const enum PdfPageMode pageMode)
sets page mode of this document
Definition: PdfDocument.cpp:86
void setSubject(const char *subject)
sets subject of this document
Definition: PdfDocument.cpp:95