PDF SDK Documentation

Comprehensive Guide for Developers: Features, Integration, and API Reference

Loading...
Searching...
No Matches
document_optimizer.h
1// Copyright (c) 2009-2025 Avanquest Software. All rights reserved.
2
3#ifndef PDFSDK_CXX_DOCUMENT_OPTIMIZER_H_INCLUDED_
4#define PDFSDK_CXX_DOCUMENT_OPTIMIZER_H_INCLUDED_
5
6#include <filesystem>
7
8#include <pdfsdk/cxx/document.h>
10
11namespace PDF {
12
13using OptimizeOptions = ::PDFOptimizeOptions;
14
16public:
28 static void Optimize(const Document& document,
29 const std::filesystem::path& destPath,
30 const OptimizeOptions& options,
31 ProgressMonitor* progress = nullptr);
32};
33
34inline void DocumentOptimizer::Optimize(const Document& document,
35 const std::filesystem::path& destPath,
36 const OptimizeOptions& options,
37 ProgressMonitor* progress) {
38 PDF_CHECK_SUCCESS_X(PDFOptimizeDocument(document.get(),
39 destPath.wstring().c_str(),
40 &options,
41 progress ? progress->monitor() : nullptr,
42 progress ? progress->userdata() : nullptr));
43}
44
45} // namespace PDF
46
47#endif // PDFSDK_CXX_DOCUMENT_OPTIMIZER_H_INCLUDED_
Represents a PDF document.
Definition document.h:22
Definition document_optimizer.h:15
static void Optimize(const Document &document, const std::filesystem::path &destPath, const OptimizeOptions &options, ProgressMonitor *progress=nullptr)
Compresses the specified document and saves it to the specified path.
Definition document_optimizer.h:34
Progress monitor for tracking the progress of an operation.
Definition progress_monitor.h:14
The PDF Document Optimizer API.
PDFSDK_IMPORT_ PDErrCode PDFSDK_CALLCONV PDFOptimizeDocument(PDDoc sourceDoc, const wchar_t *destPath, const PDFOptimizeOptions *options, const PDProgressMonitor *progress, void *progressData)
Optimizes the specified document and saves it to the specified path.
Options for the optimization process.
Definition document_optimizer.h:54