aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFJob_config.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-26 15:38:34 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commitb5d41b16b874e322befbd3fa2dde07714f7090a3 (patch)
tree14b3a08562de59892bb4a1c49be2f66f536b5e7c /libqpdf/QPDFJob_config.cc
parent1cc532dc9121d02d92ac6ce5abb9376b4842c05f (diff)
downloadqpdf-b5d41b16b874e322befbd3fa2dde07714f7090a3.tar.zst
QPDFJob: convert under/overlay and rotate
Diffstat (limited to 'libqpdf/QPDFJob_config.cc')
-rw-r--r--libqpdf/QPDFJob_config.cc88
1 files changed, 88 insertions, 0 deletions
diff --git a/libqpdf/QPDFJob_config.cc b/libqpdf/QPDFJob_config.cc
index 2110f005..c313c219 100644
--- a/libqpdf/QPDFJob_config.cc
+++ b/libqpdf/QPDFJob_config.cc
@@ -688,6 +688,13 @@ QPDFJob::Config::jobJsonFile(char const* parameter)
return *this;
}
+QPDFJob::Config&
+QPDFJob::Config::rotate(char const* parameter)
+{
+ o.parseRotationParameter(parameter);
+ return *this;
+}
+
std::shared_ptr<QPDFJob::CopyAttConfig>
QPDFJob::Config::copyAttachmentsFrom()
{
@@ -875,3 +882,84 @@ QPDFJob::PagesConfig::pageSpec(std::string const& filename,
QPDFJob::PageSpec(filename, password, range));
return *this;
}
+
+std::shared_ptr<QPDFJob::UOConfig>
+QPDFJob::Config::overlay()
+{
+ o.under_overlay = &o.overlay;
+ return std::shared_ptr<UOConfig>(new UOConfig(*this));
+}
+
+std::shared_ptr<QPDFJob::UOConfig>
+QPDFJob::Config::underlay()
+{
+ o.under_overlay = &o.underlay;
+ return std::shared_ptr<UOConfig>(new UOConfig(*this));
+}
+
+QPDFJob::UOConfig::UOConfig(Config& c) :
+ config(c)
+{
+}
+
+QPDFJob::Config&
+QPDFJob::UOConfig::end()
+{
+ if (config.o.under_overlay->filename.empty())
+ {
+ usage(config.o.under_overlay->which + " file not specified");
+ }
+ config.o.under_overlay = 0;
+ return this->config;
+}
+
+QPDFJob::UOConfig&
+QPDFJob::UOConfig::path(char const* parameter)
+{
+ if (! config.o.under_overlay->filename.empty())
+ {
+ usage(config.o.under_overlay->which + " file already specified");
+ }
+ else
+ {
+ config.o.under_overlay->filename = parameter;
+ }
+ return *this;
+}
+
+QPDFJob::UOConfig&
+QPDFJob::UOConfig::to(char const* parameter)
+{
+ config.o.parseNumrange(parameter, 0);
+ config.o.under_overlay->to_nr = parameter;
+ return *this;
+}
+
+QPDFJob::UOConfig&
+QPDFJob::UOConfig::from(char const* parameter)
+{
+ if (strlen(parameter))
+ {
+ config.o.parseNumrange(parameter, 0);
+ }
+ config.o.under_overlay->from_nr = parameter;
+ return *this;
+}
+
+QPDFJob::UOConfig&
+QPDFJob::UOConfig::repeat(char const* parameter)
+{
+ if (strlen(parameter))
+ {
+ config.o.parseNumrange(parameter, 0);
+ }
+ config.o.under_overlay->repeat_nr = parameter;
+ return *this;
+}
+
+QPDFJob::UOConfig&
+QPDFJob::UOConfig::password(char const* parameter)
+{
+ config.o.under_overlay->password = QUtil::make_shared_cstr(parameter);
+ return *this;
+}