Když vývojáři upravují dokument pomocí daného řešení C++, ve skutečnosti se upravuje objektový model dokumentu (DOM). V dokumentu reprezentovaném jako DOM lze tedy provést téměř jakékoli změny. S dodanou sadou C++ SDK mohou vývojáři snadno upravovat dokument: upravovat text, aktualizovat tabulky, přidávat obrázky a tak dále. Stačí načíst Word, PDF nebo soubor v podporovaném formátu načtení, provést potřebné změny programově a exportovat výsledek do podporovaného formátu uložení.
Naše C++ knihovna umožňuje vývojářům upravovat dokument přímo úpravou jeho Document Object Model (DOM), což znamená, že není třeba instalovat žádný další software.
Je důležité vědět, že pomocí tohoto řešení C++ můžete upravovat dokument v jakémkoli podporovaném formátu. Například je možné načíst soubor ve PDF formátech, DOCX, DOC, RTF, ODT, EPUB, HTML a dalších a poté tento soubor upravit a uložit ve stejném formátu nebo v jakémkoli jiném podporovaném formátu.
Nejoblíbenějším případem úpravy Word, PDF nebo jakéhokoli jiného dokumentu je úprava textu. S daným softwarovým řešením můžete v dokumentu přidávat, upravovat nebo mazat text pomocí C++.
Další oblíbenou možností úpravy dokumentů je úprava tabulek. Naše C++ SDK umožňuje pracovat s tabulkami a textem v buňkách tabulky.
Vývojáři C++ mohou přidávat nebo odebírat tabulky a buňky tabulek, stejně jako přidávat, upravovat a odstraňovat text v nich.
Kromě úprav textu a tabulek existuje další běžná možnost: přidání obrázků do dokumentu ve C++. Vývojáři C++ mohou také přidat obrázek do souboru pomocí DOM.
Vyzkoušejte tuto výkonnou sadu C++ SDK a zhodnoťte některé možnosti úpravy dokumentů. Pomocí následujícího příkladu načtěte dokument a proveďte nějaké změny: přidejte text, přidejte tabulku a buňku tabulky s textem nebo vložte do dokumentu obrázek:
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 GitHubu. Podrobné informace o sestavení a konfiguraci SDK naleznete v části "How to use the SDK".
Chcete-li rychle získat potřebné bezpečnostní údaje a získat přístup k našemu REST API, postupujte podle těchto Instructions v dokumentaci.
Podrobnosti naleznete v Repository Documentation.