3#ifndef PDFSDK_CXX_PDFA_H_INCLUDED_
4#define PDFSDK_CXX_PDFA_H_INCLUDED_
10#include <pdfsdk/cxx/callback.h>
11#include <pdfsdk/cxx/document.h>
12#include <pdfsdk/cxx/exception.h>
13#include <pdfsdk/cxx/progress_monitor.h>
23class PdfaIssueMonitor {
25 PdfaIssueMonitor() =
default;
28 virtual ~PdfaIssueMonitor() =
default;
32 void* userdata() {
return this; }
45 const std::string& message,
49 static PDErrCode PDFSDK_CALLCONV OnIssueCb(
void* clientData,
55 auto monitor =
static_cast<PdfaIssueMonitor*
>(clientData);
56 monitor->OnIssue(type, level, message ? message : std::string{}, count);
62 &PdfaIssueMonitor::OnIssueCb,
94inline PDFAFlavor ConvertPdfToPdfA(
const Document& input,
95 const std::filesystem::path& outputFile,
101 PDFConvertToPDFAParams params = {};
102 auto outputFileStr = outputFile.wstring();
106 params.
flags = flags;
108 const PDProgressMonitor* progressMon = progress ? progress->monitor() :
nullptr;
109 void* progressData = progress ? progress->userdata() :
nullptr;
111 const PDFAIssueMonitor* issueMon = issueMonitor ? issueMonitor->monitor() :
nullptr;
112 void* issueMonData = issueMonitor ? issueMonitor->userdata() :
nullptr;
114 PDFAFlavor produced = flavor;
Represents a PDF document.
Definition document.h:27
Monitor that receives PDF/A compliance issues reported during conversion.
Definition pdfa.h:23
virtual void OnIssue(PDFAIssueType type, PDFAIssueLevel level, const std::string &message, size_t count)=0
Called to report a compliance issue encountered during conversion.
Progress monitor for tracking the progress of an operation.
Definition progress_monitor.h:14
@ kPDErrSuccess
Operation was successful.
Definition errors.h:18
int32_t PDErrCode
Definition errors.h:44
PDF to PDF/A conversion API.
uint32_t PDFAConvertFlags
Definition pdf2pdfa.h:49
PDFAConvertMode
Defines the conversion mode for PDF to PDF/A conversion.
Definition pdf2pdfa.h:27
@ kPDFAConvertMode_Auto
Definition pdf2pdfa.h:28
PDFAIssueLevel
The level of severity of the compliance issue, reported via PDFAIssueMonitor.
Definition pdf2pdfa.h:162
PDFAIssueType
Compliance issue category reported via PDFAIssueMonitor.
Definition pdf2pdfa.h:68
@ kPDFAConvertFlags_Default
Definition pdf2pdfa.h:45
PDFSDK_IMPORT_ PDErrCode PDFSDK_CALLCONV PDFConvertToPDFA(PDDoc source, const PDProgressMonitor *progress, void *progressData, const PDFAIssueMonitor *issueMon, void *issueMonData, const PDFConvertToPDFAParams *params, PDFAFlavor *producedFlavor)
Converts a PDF document into a PDF/A‑compliant file.
PDF/A compliance issue monitor.
Definition pdf2pdfa.h:172
PDFAConvertFlags flags
Definition pdf2pdfa.h:59
PDFAFlavor flavor
Definition pdf2pdfa.h:56
const wchar_t * outputFile
Definition pdf2pdfa.h:55
PDFAConvertMode mode
Definition pdf2pdfa.h:57