From b4b0df0df98f44483215c4658f1697282080eebf Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 23 Jan 2022 19:46:20 -0500 Subject: QPDFJob: convert trivial functions to config API --- libqpdf/QPDFJob_config.cc | 485 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 484 insertions(+), 1 deletion(-) (limited to 'libqpdf/QPDFJob_config.cc') diff --git a/libqpdf/QPDFJob_config.cc b/libqpdf/QPDFJob_config.cc index 07500f05..ac038aa9 100644 --- a/libqpdf/QPDFJob_config.cc +++ b/libqpdf/QPDFJob_config.cc @@ -1,8 +1,491 @@ #include +#include +#include QPDFJob::Config& -QPDFJob::Config::verbose(bool) +QPDFJob::Config::allowWeakCrypto() +{ + o.allow_weak_crypto = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::check() +{ + o.check = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::checkLinearization() +{ + o.check_linearization = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::coalesceContents() +{ + o.coalesce_contents = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::collate(char const* parameter) +{ + auto n = ((parameter == 0) ? 1 : + QUtil::string_to_uint(parameter)); + o.collate = QIntC::to_size(n); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::compressStreams(char const* parameter) +{ + o.compress_streams_set = true; + o.compress_streams = (strcmp(parameter, "y") == 0); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::compressionLevel(char const* parameter) +{ + o.compression_level = QUtil::string_to_int(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::copyEncryption(char const* parameter) +{ + o.encryption_file = parameter; + o.copy_encryption = true; + o.encrypt = false; + o.decrypt = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::decrypt() +{ + o.decrypt = true; + o.encrypt = false; + o.copy_encryption = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::deterministicId() +{ + o.deterministic_id = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::empty() +{ + o.infilename = QUtil::make_shared_cstr(""); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::encryptionFilePassword(char const* parameter) +{ + o.encryption_file_password = QUtil::make_shared_cstr(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::externalizeInlineImages() +{ + o.externalize_inline_images = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::filteredStreamData() +{ + o.show_filtered_stream_data = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::flattenAnnotations(char const* parameter) +{ + o.flatten_annotations = true; + if (strcmp(parameter, "screen") == 0) + { + o.flatten_annotations_forbidden |= an_no_view; + } + else if (strcmp(parameter, "print") == 0) + { + o.flatten_annotations_required |= an_print; + } + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::flattenRotation() +{ + o.flatten_rotation = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::forceVersion(char const* parameter) +{ + o.force_version = parameter; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::generateAppearances() +{ + o.generate_appearances = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::ignoreXrefStreams() +{ + o.ignore_xref_streams = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::iiMinBytes(char const* parameter) +{ + o.ii_min_bytes = QUtil::string_to_uint(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::isEncrypted() +{ + o.check_is_encrypted = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::json() +{ + o.json = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::jsonKey(char const* parameter) +{ + o.json_keys.insert(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::jsonObject(char const* parameter) +{ + o.json_objects.insert(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::keepFilesOpen(char const* parameter) +{ + o.keep_files_open_set = true; + o.keep_files_open = (strcmp(parameter, "y") == 0); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::keepFilesOpenThreshold(char const* parameter) +{ + o.keep_files_open_threshold = QUtil::string_to_uint(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::keepInlineImages() +{ + o.keep_inline_images = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::linearize() +{ + o.linearize = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::linearizePass1(char const* parameter) +{ + o.linearize_pass1 = parameter; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::listAttachments() +{ + o.list_attachments = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::minVersion(char const* parameter) +{ + o.min_version = parameter; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::newlineBeforeEndstream() +{ + o.newline_before_endstream = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::noOriginalObjectIds() +{ + o.suppress_original_object_id = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::noWarn() +{ + o.suppress_warnings = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::normalizeContent(char const* parameter) +{ + o.normalize_set = true; + o.normalize = (strcmp(parameter, "y") == 0); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::oiMinArea(char const* parameter) +{ + o.oi_min_area = QUtil::string_to_uint(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::oiMinHeight(char const* parameter) +{ + o.oi_min_height = QUtil::string_to_uint(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::oiMinWidth(char const* parameter) +{ + o.oi_min_width = QUtil::string_to_uint(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::optimizeImages() +{ + o.optimize_images = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::passwordIsHexKey() +{ + o.password_is_hex_key = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::preserveUnreferenced() +{ + o.preserve_unreferenced_objects = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::preserveUnreferencedResources() +{ + o.remove_unreferenced_page_resources = QPDFJob::re_no; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::progress() +{ + o.progress = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::qdf() +{ + o.qdf_mode = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::rawStreamData() +{ + o.show_raw_stream_data = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::recompressFlate() +{ + o.recompress_flate_set = true; + o.recompress_flate = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::removeAttachment(char const* parameter) +{ + o.attachments_to_remove.push_back(parameter); + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::removePageLabels() +{ + o.remove_page_labels = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::replaceInput() +{ + o.replace_input = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::requiresPassword() +{ + o.check_requires_password = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::showAttachment(char const* parameter) +{ + o.attachment_to_show = parameter; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::showEncryption() +{ + o.show_encryption = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::showEncryptionKey() +{ + o.show_encryption_key = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::showLinearization() +{ + o.show_linearization = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::showNpages() +{ + o.show_npages = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::showPages() +{ + o.show_pages = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::showXref() +{ + o.show_xref = true; + o.require_outfile = false; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::splitPages(char const* parameter) +{ + int n = ((parameter == 0) ? 1 : + QUtil::string_to_int(parameter)); + o.split_pages = n; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::staticAesIv() +{ + o.static_aes_iv = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::staticId() +{ + o.static_id = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::suppressPasswordRecovery() +{ + o.suppress_password_recovery = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::suppressRecovery() +{ + o.suppress_recovery = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::verbose() { o.m->verbose = true; return *this; } + +QPDFJob::Config& +QPDFJob::Config::warningExit0() +{ + o.warnings_exit_zero = true; + return *this; +} + +QPDFJob::Config& +QPDFJob::Config::withImages() +{ + o.show_page_images = true; + return *this; +} -- cgit v1.2.3-54-g00ecf