From 41c5af8f2664cef36d4a1253ba5251603a937605 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 25 Jan 2022 19:01:10 -0500 Subject: QPDFJob: convert pages --- libqpdf/QPDFJob_config.cc | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'libqpdf/QPDFJob_config.cc') 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::Config::pages() +{ + return std::shared_ptr(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; +} -- cgit v1.2.3-70-g09d2