aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFJob_config.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-26 01:01:10 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commit41c5af8f2664cef36d4a1253ba5251603a937605 (patch)
tree60109db66fc61d98eb833eef252ec7e9ac54fbef /libqpdf/QPDFJob_config.cc
parent9373881cca0c781c66b2b50b962bdbc26364abe5 (diff)
downloadqpdf-41c5af8f2664cef36d4a1253ba5251603a937605.tar.zst
QPDFJob: convert pages
Diffstat (limited to 'libqpdf/QPDFJob_config.cc')
-rw-r--r--libqpdf/QPDFJob_config.cc31
1 files changed, 31 insertions, 0 deletions
diff --git a/libqpdf/QPDFJob_config.cc b/libqpdf/QPDFJob_config.cc
index 7342aeea..c4961fd3 100644
--- a/libqpdf/QPDFJob_config.cc
+++ b/libqpdf/QPDFJob_config.cc
@@ -657,3 +657,34 @@ QPDFJob::AttConfig::end()
this->config.o.attachments_to_add.push_back(this->att);
return this->config;
}
+
+QPDFJob::PagesConfig::PagesConfig(Config& c) :
+ config(c)
+{
+}
+
+std::shared_ptr<QPDFJob::PagesConfig>
+QPDFJob::Config::pages()
+{
+ return std::shared_ptr<PagesConfig>(new PagesConfig(*this));
+}
+
+QPDFJob::Config&
+QPDFJob::PagesConfig::end()
+{
+ if (this->config.o.page_specs.empty())
+ {
+ throw QPDFJob::ConfigError("--pages: no page specifications given");
+ }
+ return this->config;
+}
+
+QPDFJob::PagesConfig&
+QPDFJob::PagesConfig::pageSpec(std::string const& filename,
+ char const* password,
+ std::string const& range)
+{
+ this->config.o.page_specs.push_back(
+ QPDFJob::PageSpec(filename, password, range));
+ return *this;
+}