Commit c9cb6353 authored by Pino Toscano's avatar Pino Toscano
Browse files

[cpp] add function to query for document "permissions"

parent 30e90c7c
...@@ -271,6 +271,29 @@ bool document::is_linearized() const ...@@ -271,6 +271,29 @@ bool document::is_linearized() const
return d->doc->isLinearized(); return d->doc->isLinearized();
} }
bool document::has_permission(permission_enum which) const
{
switch (which) {
case perm_print:
return d->doc->okToPrint();
case perm_change:
return d->doc->okToChange();
case perm_copy:
return d->doc->okToCopy();
case perm_add_notes:
return d->doc->okToAddNotes();
case perm_fill_forms:
return d->doc->okToFillForm();
case perm_accessibility:
return d->doc->okToAccessibility();
case perm_assemble:
return d->doc->okToAssemble();
case perm_print_high_resolution:
return d->doc->okToPrintHighRes();
}
return true;
}
int document::pages() const int document::pages() const
{ {
return d->doc->getNumPages(); return d->doc->getNumPages();
......
...@@ -65,6 +65,7 @@ public: ...@@ -65,6 +65,7 @@ public:
unsigned int /*time_t*/ info_date(const std::string &key) const; unsigned int /*time_t*/ info_date(const std::string &key) const;
bool is_encrypted() const; bool is_encrypted() const;
bool is_linearized() const; bool is_linearized() const;
bool has_permission(permission_enum which) const;
int pages() const; int pages() const;
page* create_page(const ustring &label) const; page* create_page(const ustring &label) const;
......
...@@ -60,6 +60,10 @@ enum rotation_enum { rotate_0, rotate_90, rotate_180, rotate_270 }; ...@@ -60,6 +60,10 @@ enum rotation_enum { rotate_0, rotate_90, rotate_180, rotate_270 };
enum page_box_enum { media_box, crop_box, bleed_box, trim_box, art_box }; enum page_box_enum { media_box, crop_box, bleed_box, trim_box, art_box };
enum permission_enum { perm_print, perm_change, perm_copy, perm_add_notes,
perm_fill_forms, perm_accessibility, perm_assemble,
perm_print_high_resolution };
typedef std::vector<char> byte_array; typedef std::vector<char> byte_array;
class POPPLER_CPP_EXPORT ustring : public std::basic_string<unsigned short> class POPPLER_CPP_EXPORT ustring : public std::basic_string<unsigned short>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment