Gdy programiści modyfikują dokument za pomocą danego rozwiązania C++, w rzeczywistości edytowany jest model obiektów dokumentu (DOM). W ten sposób w dokumencie reprezentowanym jako DOM można wprowadzić prawie dowolne zmiany. Za pomocą dostarczonego pakietu C++ SDK programiści mogą łatwo edytować dokument: modyfikować tekst, aktualizować tabele, dodawać obrazy i tak dalej. Wystarczy załadować Word plik, PDF lub plik w obsługiwanym formacie ładowania, wprowadzić niezbędne zmiany programowo i wyeksportować wynik do obsługiwanego formatu zapisu.
Nasza C++ biblioteka daje programistom możliwość bezpośredniej modyfikacji dokumentu poprzez edycję jego Object Object Model (DOM), co oznacza, że nie trzeba instalować dodatkowego oprogramowania.
Ważne jest, aby wiedzieć, że korzystając z tego rozwiązania C++, możesz edytować dokument w dowolnym obsługiwanym formacie. Na przykład możliwe jest załadowanie pliku w PDF formacie, DOCX, DOC, RTF, ODT, EPUB, HTML i innych, a następnie zmodyfikowanie tego pliku i zapisanie go w tym samym formacie lub w dowolnym innym obsługiwanym formacie.
Najpopularniejszym przypadkiem edycji Word, PDFa lub dowolnego innego dokumentu 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 dokumentów 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 istnieje inna powszechna opcja: dodawanie obrazów do dokumentu w C++. Deweloperzy Linuksa mogą również dodać obraz do pliku za pomocą DOM.
Wypróbuj ten potężny pakiet SDK dla systemu C++ i oceń niektóre opcje edycji dokumentów. Korzystając z poniższego przykładu, załaduj dokument i wprowadź zmiany: dodaj tekst, dodaj tabelę i komórkę tabeli z tekstem lub wstaw obraz do 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.