يتكون Aspose.Total for C++ من واجهات برمجة تطبيقات قوية لأتمتة الملفات تسمح بأتمتة تحويل DOCM إلى ODP أثناء استخدام اثنين من واجهات برمجة التطبيقات الخاصة به. قم بتحميل مستند DOCM باستخدام Aspose.Words for C++ وقم بتحويله إلى HTML ، ثم قم بتحميل HTML عبر معالجة PowerPoint C++ API Aspose.Slides for C++ لإنشاء عرض تقديمي جديد وحفظه كـ ODP.
تحويل DOCM إلى ODP على C++
- افتح ملف DOCM باستخدام Document مرجع فئة
- تحويل DOCM إلى HTML باستخدام وظيفة العضو Save
- تهيئة كائن [عرض تقديمي] جديد( https://reference.aspose.com/slides/cpp/class/aspose.slides.presentation )
- إضافة شكل تلقائي في الشريحة الخاصة بك ، وإضافة AddTextFrame فيه
- قم بتحميل محتوى HTML واكتبه في ملف العرض التقديمي الخاص بك
- احفظ المستند بتنسيق ODP باستخدام طريقة Save وتعيين Odp على أنه SaveFormat
متطلبات التحويل
قم بالتثبيت من سطر الأوامر كـ nuget install Aspose.Total.Cpp '' أو عبر Package Manager Console في Visual Studio مع
Install-Package Aspose.Total.Cpp ‘’.
بدلاً من ذلك ، احصل على مثبّت MSI غير المتصل أو مكتبات DLL في ملف ZIP من التنزيلات .
// load DOCM file with an instance of Document
Document docmument = new Document("template.docm");
System::SharedPtr<Document> docm = System::MakeObject<Document>(u"sourceFile.docm");
// save the docmument in HTML file format
docm->Save(u"HtmlOutput.HTML");
// load the desired the presentation
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// access first slide
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);
// add an AutoShape of Rectangle type
SharedPtr<IAutoShape> ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 10, 10, 700, 500);
// reset default fill color
ashp->get_FillFormat()->set_FillType(FillType::NoFill);
// add TextFrame to the Rectangle
ashp->AddTextFrame(u" ");
// access the text frame
SharedPtr<ITextFrame> txtFrame = ashp->get_TextFrame();
// get Paragraphs collection
SharedPtr<Aspose::Slides::IParagraphCollection>ParaCollection = txtFrame->get_Paragraphs();
// clear all paragraphs in added text frame
ParaCollection->Clear();
// load the HTML file using stream reader
SharedPtr<System::IO::StreamReader> tr = MakeObject<System::IO::StreamReader>(HtmlOutput.HTML);
// add text from HTML stream reader in text frame
ParaCollection->AddFromHtml(tr->ReadToEnd());
// save presentation as Odp
pres->Save(output.odp, Aspose::Slides::Export::SaveFormat::Odp);
محول مجاني على الإنترنت لـ DOCM إلى ODP
قم بتحميل مستند DOCM المحمي بكلمة مرور عبر C++
بصرف النظر عن تحويل المستندات ، تسمح واجهة برمجة التطبيقات Aspose.Words for C++ بالعديد من ميزات معالجة المستندات لمطوري C++. إذا كان تنسيق ملف Microsoft Word DOCM محميًا بكلمة مرور ، فلا يزال بإمكانك فتحه باستخدام API. لتحميل المستند المشفر ، يمكنك استخدام مُنشئ خاص زائد التحميل ، والذي يقبل كائن LoadOptions . يحتوي هذا الكائن على خاصية كلمة المرور ، والتي تحدد سلسلة كلمة المرور.
// when loading password protected docmument, the password is passed to the docmument's constructor using a LoadOptions object.
auto options = MakeObject<LoadOptions>(u"docmPassword");
// load the docmument from the local file system by filename:
SharedPtr<Document> docm = MakeObject<Document>(u"Encrypted.docm", options);
أضف التعليقات في مستند ODP عبر C++
أثناء حفظ DOCM كـ ODP ، يمكنك أيضًا استخدام Aspose.Slides for C++ لإضافة المزيد من الميزات في مستند ODP الخاص بك. على سبيل المثال ، يمكنك إضافة تعليقات في العرض التقديمي الخاص بك. يرتبط تعليق شريحة العرض التقديمي بمؤلف معين. يتضمن فصل العرض التقديمي مجموعة المؤلفين في ICommentAuthorCollection المسؤولة عن إضافة تعليقات الشرائح. لكل مؤلف ، هناك مجموعة من التعليقات في ICommentCollection.
// instantiate Presentation class
SharedPtr<Presentation>pres = MakeObject<Presentation>();
// access first slide
SharedPtr<ILayoutSlide>layout = pres->get_LayoutSlides()->idx_get(0);
// add empty slide
pres->get_Slides()->AddEmptySlide(layout);
// adding Author
SharedPtr<ICommentAuthor> author = pres->get_CommentAuthors()->AddAuthor(u"John Doe", u"MF");
// set position of comments
System::Drawing::PointF point = System::Drawing::PointF(0.2f, 0.2f);
// add slide comment for an author on slide 1
author->get_Comments()->AddComment(u"Hello John, this is a slide comment", pres->get_Slides()->idx_get(1), point, DateTime::get_Now());
// access ISlide 1
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// save presentation as Odp
pres->Save(output.odp, Aspose::Slides::Export::SaveFormat::Odp);
أسئلة مكررة
- كيف يمكنني تحويل DOCM إلى ODP Online؟يمكنك العثور على التطبيق عبر الإنترنت لتحويل DOCM أعلاه. لبدء عملية التحويل ، يمكنك إضافة ملف DOCM إما عن طريق سحبه وإفلاته أو بالنقر داخل المنطقة البيضاء لاستيراد المستند. بمجرد إضافة الملف ، يمكنك ببساطة النقر فوق الزر "تحويل". بعد اكتمال تحويل DOCM إلى ODP ، يمكنك تنزيل ملفك المحول بنقرة واحدة فقط.
- كم من الوقت يستغرق تحويل DOCM؟تعتمد سرعة هذا المحول عبر الإنترنت بشكل كبير على حجم ملف DOCM الذي يتم تحويله. يمكن تحويل ملفات DOCM الصغيرة إلى ODP في بضع ثوانٍ فقط. إذا كنت تستخدم رمز التحويل داخل تطبيق C++ ، فستعتمد سرعة التحويل على مدى جودة تطبيقك.
- هل من الآمن تحويل DOCM إلى ODP باستخدام محول Aspose.Total المجاني؟بالطبع! بعد تحويل ملف DOCM الخاص بك إلى ODP باستخدام المحول عبر الإنترنت ، سيكون رابط تنزيل ملف ODP متاحًا على الفور. نحن نأخذ أمان وخصوصية الملفات التي تم تحميلها على محمل الجد ونحذفها بعد 24 ساعة من اكتمال عملية التحويل. كن مطمئنًا ، لن يتمكن أي شخص من الوصول إلى ملفاتك. عملية التحويل لدينا ، بما في ذلك تحويل DOCM ، آمنة تمامًا. نحن نقدم تطبيقًا مجانيًا لأغراض الاختبار بحيث يمكنك التحقق من النتائج قبل دمج الكود.
- ما المتصفح الذي يجب أن أستخدمه لتحويل DOCM؟لتحويل DOCM عبر الإنترنت ، يمكنك استخدام أي متصفح حديث ، مثل Google Chrome أو Firefox أو Opera أو Safari. ومع ذلك ، إذا كنت تقوم بتطوير تطبيق سطح مكتب ، فمن المستحسن Aspose.Total DOCM Conversion API للحصول على أداء سلس.