3#ifndef PDFSDK_CXX_XML_EXTRACTOR_H_INCLUDED_
4#define PDFSDK_CXX_XML_EXTRACTOR_H_INCLUDED_
9#include <pdfsdk/cxx/callback.h>
10#include <pdfsdk/cxx/document.h>
11#include <pdfsdk/cxx/text_edit.h>
24 static auto collect = [](
const char* data,
size_t numBytes,
void* clientData) ->
PDErrCode {
26 static_cast<std::string*
>(clientData)->assign(data, numBytes);
30 PDF_CHECK_SUCCESS_X(PDTTextBlockSerializeToXML(text_layout.get(), block.get(), collect, &xml));
43inline void DeserializeTextBlockFromXML(
const Document& doc,
46 std::string_view xml) {
48 PDTTextBlockDeserializeFromXML(doc.get(), text_layout.get(), block.get(), xml.data(), xml.size()));
61 static auto collect = [](
const char* data,
size_t numBytes,
void* clientData) ->
PDErrCode {
63 static_cast<std::string*
>(clientData)->assign(data, numBytes);
67 PDF_CHECK_SUCCESS_X(PDTLayoutSerializeToXML(text_layout.get(), collect, &xml));
81 PDF_CHECK_SUCCESS_X(PDTLayoutDeserializeFromXML(doc.get(), text_layout.get(), xml.data(), xml.size()));
Represents a PDF document.
Definition document.h:27
The Layout class represents a text layout in a PDF document.
Definition text_edit.h:25
The TextBlock class represents a block of text in a Layout.
Definition text_edit.h:123
@ kPDErrSuccess
Operation was successful.
Definition errors.h:18
int32_t PDErrCode
Definition errors.h:44