PDF SDK Documentation

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

Loading...
Searching...
No Matches
convert.h
Go to the documentation of this file.
1#pragma once
2
8#include <filesystem>
9
10#include <pdfsdk/cxx/core.h>
11
18
19namespace PDF {
20
29
37inline void ConvertPdfToWord(const PDF::Document& input,
38 const PDPageRange* pages,
39 const std::filesystem::path& outputFile,
40 PDF::ProgressMonitor* progress = nullptr) {
41 PDFConvertToDocxParams params = {};
42 auto outputFileStr = outputFile.wstring();
43 params.outputFile = outputFileStr.c_str();
44 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
45 void* progressData = progress ? progress->userdata() : nullptr;
46 PDF_CHECK_SUCCESS_X(PDFConvertToDocx(input.get(), pages, progressMonitor, progressData, &params));
47}
48
58inline void ConvertPdfToExcel(const PDF::Document& input,
59 const PDPageRange* pages,
60 ConvertPdfToExcelType convertType,
61 bool keepTablesOnly,
62 const std::filesystem::path& outputFile,
63 PDF::ProgressMonitor* progress = nullptr) {
64 PDFConvertToXlsxParams params = {};
65 auto outputFileStr = outputFile.wstring();
66 params.outputFile = outputFileStr.c_str();
67 params.convertType = static_cast<PDFConvertToXlsxType>(convertType);
68 params.keepTablesOnly = keepTablesOnly;
69 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
70 void* progressData = progress ? progress->userdata() : nullptr;
71 PDF_CHECK_SUCCESS_X(PDFConvertToXlsx(input.get(), pages, progressMonitor, progressData, &params));
72}
73
81inline void ConvertPdfToPowerPoint(const PDF::Document& input,
82 const PDPageRange* pages,
83 const std::filesystem::path& outputFile,
84 PDF::ProgressMonitor* progress = nullptr) {
85 PDFConvertToPptxParams params = {};
86 auto outputFileStr = outputFile.wstring();
87 params.outputFile = outputFileStr.c_str();
88 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
89 void* progressData = progress ? progress->userdata() : nullptr;
90 PDF_CHECK_SUCCESS_X(PDFConvertToPptx(input.get(), pages, progressMonitor, progressData, &params));
91}
92
100inline void ConvertPdfToHtml(const PDF::Document& input,
101 const PDPageRange* pages,
102 const std::filesystem::path& outputFolder,
103 PDF::ProgressMonitor* progress = nullptr) {
104#ifdef _WIN32
105 PDFConvertToHtmlParams params = {};
106 auto outputFolderStr = outputFolder.wstring();
107 params.outputFolder = outputFolderStr.c_str();
108 params.useHTMExtension = true;
109 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
110 void* progressData = progress ? progress->userdata() : nullptr;
111 PDF_CHECK_SUCCESS_X(PDFConvertToHtml(input.get(), pages, progressMonitor, progressData, &params));
112#else
113 PDF_THROW(kPDErrInternalError, "PDF to HTML converter is temporary unavailable on this platform");
114#endif
115}
116
125inline void ConvertPdfToRtf(const PDF::Document& input,
126 const PDPageRange* pages,
127 const std::filesystem::path& outputFile,
128 PDF::ProgressMonitor* progress = nullptr) {
129#ifdef _WIN32
130 PDFConvertToRtfParams params = {};
131 auto outputFileStr = outputFile.wstring();
132 params.outputFile = outputFileStr.c_str();
133 params.tableRecognize = true;
134 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
135 void* progressData = progress ? progress->userdata() : nullptr;
136 PDF_CHECK_SUCCESS_X(PDFConvertToRtf(input.get(), pages, progressMonitor, progressData, &params));
137#else
138 PDF_THROW(kPDErrInternalError, "PDF to RTF converters is temporary unavailable on this platform");
139#endif
140}
141
151inline void ConvertPdfToText(const PDF::Document& input,
152 const PDPageRange* pages,
153 const std::wstring& pageDivider,
154 bool convertCroppedText,
155 const std::filesystem::path& outputFile,
156 PDF::ProgressMonitor* progress = nullptr) {
157 PDFConvertToTextParams params = {};
158 auto outputFileStr = outputFile.wstring();
159 params.outputFile = outputFileStr.c_str();
160 params.convertCroppedText = convertCroppedText;
161 params.dividerString = pageDivider.c_str();
162 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
163 void* progressData = progress ? progress->userdata() : nullptr;
164 PDF_CHECK_SUCCESS_X(PDFConvertToText(input.get(), pages, progressMonitor, progressData, &params));
165}
166
167}
Represents a PDF document.
Definition document.h:22
Progress monitor for tracking the progress of an operation.
Definition progress_monitor.h:14
void ConvertPdfToRtf(const PDF::Document &input, const PDPageRange *pages, const std::filesystem::path &outputFile, PDF::ProgressMonitor *progress=nullptr)
Converts a PDF document to RTF format.
Definition convert.h:125
ConvertPdfToExcelType
The type of conversion to perform when converting a PDF document to Excel format.
Definition convert.h:24
void ConvertPdfToWord(const PDF::Document &input, const PDPageRange *pages, const std::filesystem::path &outputFile, PDF::ProgressMonitor *progress=nullptr)
Converts a PDF document to Word format.
Definition convert.h:37
void ConvertPdfToText(const PDF::Document &input, const PDPageRange *pages, const std::wstring &pageDivider, bool convertCroppedText, const std::filesystem::path &outputFile, PDF::ProgressMonitor *progress=nullptr)
Converts a PDF document to plain text format.
Definition convert.h:151
void ConvertPdfToHtml(const PDF::Document &input, const PDPageRange *pages, const std::filesystem::path &outputFolder, PDF::ProgressMonitor *progress=nullptr)
Converts a PDF document to HTML format.
Definition convert.h:100
void ConvertPdfToPowerPoint(const PDF::Document &input, const PDPageRange *pages, const std::filesystem::path &outputFile, PDF::ProgressMonitor *progress=nullptr)
Converts a PDF document to PowerPoint format.
Definition convert.h:81
void ConvertPdfToExcel(const PDF::Document &input, const PDPageRange *pages, ConvertPdfToExcelType convertType, bool keepTablesOnly, const std::filesystem::path &outputFile, PDF::ProgressMonitor *progress=nullptr)
Converts a PDF document to Excel format.
Definition convert.h:58
@ kPDErrInternalError
Internal error.
Definition errors.h:23
PDF to DOCX conversion API.
PDErrCode PDFConvertToDocx(PDDoc source, const PDPageRange *pageRange, const PDProgressMonitor *progress, void *progressData, const PDFConvertToDocxParams *params)
A function to covert a PDF file (or a part of it) into a MS Word Document format (....
PDF to HTML conversion API.
PDF to PPTX conversion API.
PDFSDK_IMPORT_ PDErrCode PDFSDK_CALLCONV PDFConvertToPptx(PDDoc source, const PDPageRange *pageRange, const PDProgressMonitor *progress, void *progressData, const PDFConvertToPptxParams *params)
A function to covert a PDF file (or a part of it) into a MS PowerPoint Document format (....
PDF to RTF conversion API.
PDF to TXT conversion API.
PDF to XLSX conversion API.
PDFConvertToXlsxType
Defines how the content is organized in the resulting Excel file.
Definition pdf2xlsx.h:24
PDFSDK_IMPORT_ PDErrCode PDFSDK_CALLCONV PDFConvertToXlsx(PDDoc source, const PDPageRange *pageRange, const PDProgressMonitor *progress, void *progressData, const PDFConvertToXlsxParams *params)
A function to covert a PDF file (or a part of it) into a MS Excel Document format (....
Contains conversion-related parameters such as the output directory and file name,...
Definition pdf2docx.h:23
const wchar_t * outputFile
Definition pdf2docx.h:24
Definition pdf2html.h:19
Contains conversion-related parameters such as the output file, and a flag related table recognition.
Definition pdf2pptx.h:23
const wchar_t * outputFile
Definition pdf2pptx.h:24
Definition pdf2rtf.h:19
Definition pdf2text.h:19
Contains conversion-related parameters such as the output file, the Excel sheet makeup,...
Definition pdf2xlsx.h:35
bool keepTablesOnly
Definition pdf2xlsx.h:39
const wchar_t * outputFile
Definition pdf2xlsx.h:36
PDFConvertToXlsxType convertType
Definition pdf2xlsx.h:38
Definition document.h:40
Definition progress_monitor.h:15