Gdy programiści modyfikują DOCX dokument za pomocą tej C++ biblioteki, w rzeczywistości edytowany jest model obiektów dokumentu (DOM). W ten sposób w DOCX dokumencie reprezentowanym jako DOM można wprowadzić prawie wszystkie zmiany. Dzięki dostarczonemu pakietowi C++ SDK programiści mogą łatwo edytować dokument: modyfikować tekst, aktualizować tabele, dodawać obrazy i tak dalej. Po prostu załaduj DOCX, wprowadź niezbędne zmiany programowo i wyeksportuj wynik do tego samego lub dowolnego obsługiwanego formatu zapisu.
Nasza C++ biblioteka daje programistom możliwość bezpośredniej modyfikacji DOCX dokumentu poprzez edycję jego Object Object Model (DOM), co oznacza, że nie trzeba instalować dodatkowego oprogramowania.
Najpopularniejszym przypadkiem edycji DOCX pliku jest edycja tekstu. Za pomocą danego rozwiązania programowego możesz dodawać, modyfikować lub usuwać tekst za pomocą C++ w dokumencie.
Inną popularną opcją edycji DOCX jest edycja tabel. Nasz C++ SDK umożliwia pracę z tabelami i tekstem w komórkach tabel.
Programiści C++ mogą dodawać lub usuwać tabele i komórki tabeli, a także dodawać, edytować i usuwać w nich tekst.
Poza edycją tekstu i tabel w DOCX formacie istnieje jeszcze jedna powszechna opcja: dodawanie obrazów do dokumentu w C++. Deweloperzy Linuksa mogą również dodać obraz do DOCX pliku za pomocą DOM.
Wypróbuj ten potężny C++ SDK i oceń niektóre opcje edycji DOCX dokumentów. Korzystając z poniższego przykładu, załaduj DOCX dokument i wprowadź pewne zmiany: dodaj tekst, dodaj tabelę i komórkę tabeli z tekstem lub wstaw obraz do DOCX dokumentu:
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);
Clone Aspose.Words Cloud SDK for C++ z GitHub. Szczegółowe informacje na temat budowania i konfigurowania SDK można znaleźć w sekcji "How to use the SDK".
Aby szybko uzyskać niezbędne dane uwierzytelniające i uzyskać dostęp do naszego interfejsu REST API, postępuj zgodnie z Instructions w dokumentacji.
Zapoznaj się z Repository Documentation, aby zobaczyć szczegóły.
Możesz wykonać operację edycji dla innych formatów plików: