عندما يقوم المطورون بتعديل مستند باستخدام حل 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، يرجى اتباع هذه Instructions في الوثائق.
الرجوع إلى Repository Documentation لمعرفة التفاصيل.