Когда разработчики изменяют документ с помощью данного решения C++, фактически редактируется объектная модель документа (DOM). Таким образом, в документ, представленный в виде DOM, можно вносить практически любые изменения. С помощью прилагаемого C++ SDK разработчики могут легко редактировать документ: изменять текст, обновлять таблицы, добавлять изображения и т. д. Просто загрузите Word, PDF или файл в поддерживаемом формате загрузки, внесите необходимые изменения программно и экспортируйте результат в поддерживаемый формат сохранения.
Наша C++ библиотека дает разработчикам возможность изменять документ напрямую, редактируя его объектную модель документа (DOM), что означает, что не нужно устанавливать дополнительное программное обеспечение.
Важно знать, что с помощью этого C++ решения вы можете редактировать документ любого поддерживаемого формата. Например, можно загрузить файл в PDF формате, DOCX, DOC, RTF, ODT, EPUB, HTML и других, а затем изменить этот файл и сохранить его в том же формате или в любом другом поддерживаемом формате.
Самый популярный случай редактирования Word, PDF или любого другого документа - это редактирование текста. С помощью данного программного решения вы можете добавлять, изменять или удалять текст с помощью C++ в документе.
Еще один популярный вариант редактирования документов - редактирование таблиц. Наш C++ SDK позволяет работать с таблицами и текстом в ячейках таблицы.
C++ разработчики могут добавлять или удалять таблицы и ячейки таблиц, а также добавлять, редактировать и удалять текст внутри них.
Помимо редактирования текста и таблиц, есть еще один распространенный вариант: добавление изображений в документ на C++. C++ разработчики также могут добавить изображение в файл с помощью DOM.
Попробуйте этот мощный C++ SDK и оцените некоторые возможности редактирования документов. Используя следующий пример, загрузите документ и внесите некоторые изменения: добавьте текст, добавьте таблицу и ячейку таблицы с текстом или вставьте изображение в документ:
using namespace aspose::words::cloud;
auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####",
L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);
auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input.docx"), std::istream::binary));
auto requestParagraph = std::make_shared<aspose::words::cloud::models::ParagraphInsert>();
requestParagraph->setText(std::make_shared<std::wstring>(L"Morbi enim nunc faucibus a."));
std::shared_ptr<requests::InsertParagraphOnlineRequest> insertParagraphRequest(
new requests::InsertParagraphOnlineRequest(
requestDocument, requestParagraph
)
);
auto insertParagraph = wordsApi->insertParagraphOnline(insertParagraphRequest);
std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
new requests::ConvertDocumentRequest(
insertParagraph->document->values.begin,
std::make_shared<std::wstring>(L"docx")
)
);
auto convert = wordsApi->convertDocument(convertRequest);
using namespace aspose::words::cloud;
auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####",
L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);
auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input.docx"), std::istream::binary));
auto requestTable = std::make_shared<aspose::words::cloud::models::TableInsert>();
requestTable->setColumnsCount(std::make_shared<int32_t>(1));
requestTable->setRowsCount(std::make_shared<int32_t>(2));
std::shared_ptr<requests::InsertTableOnlineRequest> insertTableRequest(
new requests::InsertTableOnlineRequest(
requestDocument, requestTable, std::make_shared<std::wstring>(L"")
)
);
auto insertTable = wordsApi->insertTableOnline(insertTableRequest);
std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
new requests::ConvertDocumentRequest(
insertTable->document->values.begin,
std::make_shared<std::wstring>(L"docx")
)
);
auto convert = wordsApi->convertDocument(convertRequest);
using namespace aspose::words::cloud;
auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####",
L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);
auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input1.docx"), std::istream::binary));
auto requestDrawingObject =
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert>();
requestDrawingObject->setHeight(std::make_shared<double>(0));
requestDrawingObject->setLeft(std::make_shared<double>(0));
requestDrawingObject->setTop(std::make_shared<double>(0));
requestDrawingObject->setWidth(std::make_shared<double>(0));
requestDrawingObject->setRelativeHorizontalPosition(
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::RelativeHorizontalPosition>(
aspose::words::cloud::models::DrawingObjectInsert::RelativeHorizontalPosition::MARGIN));
requestDrawingObject->setRelativeVerticalPosition(
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::RelativeVerticalPosition>(
aspose::words::cloud::models::DrawingObjectInsert::RelativeVerticalPosition::MARGIN));
requestDrawingObject->setWrapType(
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::WrapType>(
aspose::words::cloud::models::DrawingObjectInsert::WrapType::INLINE));
auto requestImageFile = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input2.docx"), std::istream::binary));
std::shared_ptr<requests::InsertDrawingObjectOnlineRequest> insertDrawingObjectRequest(
new requests::InsertDrawingObjectOnlineRequest(
requestDocument, requestDrawingObject, requestImageFile,
std::make_shared<std::wstring>(L"sections/0")
)
);
auto insertDrawingObject = wordsApi->insertDrawingObjectOnline(insertDrawingObjectRequest);
std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
new requests::ConvertDocumentRequest(
insertDrawingObject->document->values.begin,
std::make_shared<std::wstring>(L"docx")
)
);
auto convert = wordsApi->convertDocument(convertRequest);
Установите Aspose.Words Cloud SDK for C++ с GitHub. Подробную информацию о сборке и настройке SDK можно найти в разделе "How to use the SDK".
Чтобы быстро получить учетные данные и доступ к нашему REST API, следуйте этим Инструкциям в документации.
Обратитесь к Документации Репозитория, чтобы получить более подробную информацию.