PDF SDK Documentation

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

Loading...
Searching...
No Matches
convert.h
1#pragma once
2
3#include <filesystem>
4
5#include <pdfsdk/cxx/core.h>
6
13
14namespace PDF {
15
19enum class ConvertPdfToExcelType {
20 TablePerSheet,
21 PagePerSheet,
22 DocumentPerSheet,
23};
24
32inline void ConvertPdfToWord(const PDF::Document& input,
33 const PDPageRange* pages,
34 const std::filesystem::path& outputFile,
35 PDF::ProgressMonitor* progress = nullptr) {
36 PDFConvertToDocxParams params = {};
37 auto outputFileStr = outputFile.wstring();
38 params.outputFile = outputFileStr.c_str();
39 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
40 void* progressData = progress ? progress->userdata() : nullptr;
41 PDF_CHECK_SUCCESS_X(PDFConvertToDocx(input.get(), pages, progressMonitor, progressData, &params));
42}
43
53inline void ConvertPdfToExcel(const PDF::Document& input,
54 const PDPageRange* pages,
55 ConvertPdfToExcelType convertType,
56 bool keepTablesOnly,
57 const std::filesystem::path& outputFile,
58 PDF::ProgressMonitor* progress = nullptr) {
59 PDFConvertToXlsxParams params = {};
60 auto outputFileStr = outputFile.wstring();
61 params.outputFile = outputFileStr.c_str();
62 params.convertType = static_cast<PDFConvertToXlsxType>(convertType);
63 params.keepTablesOnly = keepTablesOnly;
64 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
65 void* progressData = progress ? progress->userdata() : nullptr;
66 PDF_CHECK_SUCCESS_X(PDFConvertToXlsx(input.get(), pages, progressMonitor, progressData, &params));
67}
68
76inline void ConvertPdfToPowerPoint(const PDF::Document& input,
77 const PDPageRange* pages,
78 const std::filesystem::path& outputFile,
79 PDF::ProgressMonitor* progress = nullptr) {
80 PDFConvertToPptxParams params = {};
81 auto outputFileStr = outputFile.wstring();
82 params.outputFile = outputFileStr.c_str();
83 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
84 void* progressData = progress ? progress->userdata() : nullptr;
85 PDF_CHECK_SUCCESS_X(PDFConvertToPptx(input.get(), pages, progressMonitor, progressData, &params));
86}
87
95inline void ConvertPdfToHtml(const PDF::Document& input,
96 const PDPageRange* pages,
97 const std::filesystem::path& outputFolder,
98 PDF::ProgressMonitor* progress = nullptr) {
99#ifdef _WIN32
100 PDFConvertToHtmlParams params = {};
101 auto outputFolderStr = outputFolder.wstring();
102 params.outputFolder = outputFolderStr.c_str();
103 params.useHTMExtension = true;
104 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
105 void* progressData = progress ? progress->userdata() : nullptr;
106 PDF_CHECK_SUCCESS_X(PDFConvertToHtml(input.get(), pages, progressMonitor, progressData, &params));
107#else
108 PDF_THROW(kPDErrInternalError, "PDF to HTML converter is temporary unavailable on this platform");
109#endif
110}
111
120inline void ConvertPdfToRtf(const PDF::Document& input,
121 const PDPageRange* pages,
122 const std::filesystem::path& outputFile,
123 PDF::ProgressMonitor* progress = nullptr) {
124#ifdef _WIN32
125 PDFConvertToRtfParams params = {};
126 auto outputFileStr = outputFile.wstring();
127 params.outputFile = outputFileStr.c_str();
128 params.tableRecognize = true;
129 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
130 void* progressData = progress ? progress->userdata() : nullptr;
131 PDF_CHECK_SUCCESS_X(PDFConvertToRtf(input.get(), pages, progressMonitor, progressData, &params));
132#else
133 PDF_THROW(kPDErrInternalError, "PDF to RTF converters is temporary unavailable on this platform");
134#endif
135}
136
146inline void ConvertPdfToText(const PDF::Document& input,
147 const PDPageRange* pages,
148 const std::wstring& pageDivider,
149 bool convertCroppedText,
150 const std::filesystem::path& outputFile,
151 PDF::ProgressMonitor* progress = nullptr) {
152 PDFConvertToTextParams params = {};
153 auto outputFileStr = outputFile.wstring();
154 params.outputFile = outputFileStr.c_str();
155 params.convertCroppedText = convertCroppedText;
156 params.dividerString = pageDivider.c_str();
157 const PDProgressMonitor* progressMonitor = progress ? progress->monitor() : nullptr;
158 void* progressData = progress ? progress->userdata() : nullptr;
159 PDF_CHECK_SUCCESS_X(PDFConvertToText(input.get(), pages, progressMonitor, progressData, &params));
160}
161
162}
Represents a PDF document.
Definition document.h:22
Progress monitor for tracking the progress of an operation.
Definition progress_monitor.h:14
@ 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:37
Definition progress_monitor.h:15