Aspose.Total for C++ , iki API’sini kullanırken DOCM’den PPSM’ye dönüştürmeyi otomatikleştirmeye izin veren güçlü dosya otomasyon API’lerinden oluşur. Aspose.Words for C++ kullanarak DOCM’nizi yükleyin ve HTML’ye dönüştürün, ardından HTML’yi PowerPoint manipülasyonu C++ API Aspose.Slides for C++ yeni bir sunum oluşturun ve PPSM olarak kaydedin.
C++'da DOCM'den PPSM'ye Dönüştürme
- Document sınıf referansını kullanarak DOCM dosyasını açın
- Kaydet üye işlevini kullanarak DOCM’yi HTML’ye dönüştürün
- Yeni bir Sunum nesnesini başlatın
- Slaytınıza bir Otomatik Şekil ekleyin ve buna AddTextFrame ekleyin
- HTML içeriğini yükleyin ve Sunum dosyanıza yazın
- Save yöntemini kullanarak belgeyi PPSM formatına kaydedin ve Ppsm’yi SaveFormat olarak ayarlayın
Dönüşüm Gereksinimleri
Komut satırından nuget install Aspose.Total.Cpp``` veya Visual Studio'nun Paket Yönetici Konsolu üzerinden ```Install-Package Aspose.Total.Cpp
ile kurun.
Alternatif olarak, çevrimdışı MSI yükleyicisini veya DLL’leri downloads adresinden bir ZIP dosyasında alın.
// 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 Ppsm
pres->Save(output.ppsm, Aspose::Slides::Export::SaveFormat::Ppsm);
DOCM'den PPSM'e Ücretsiz Çevrimiçi Dönüştürücü
Parola Korumalı DOCM Belgesini C++ ile Yükleyin
Belge dönüştürmenin yanı sıra, Aspose.Words for C++ API, C++ geliştiricileri için tonlarca belge işleme özelliğine izin verir. Microsoft Word DOCM dosya biçiminiz parola korumalıysa, API’yi kullanarak yine de açabilirsiniz. Şifrelenmiş belgeyi yüklemek için, bir LoadOptions nesnesini kabul eden özel bir kurucu aşırı yüklemesi kullanabilirsiniz. Bu nesne, parola dizesini belirten Parola özelliğini içerir.
// 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);
C++ ile PPSM Belgesine Yorum Ekleme
DOCM’yi PPSM olarak kaydederken, PPSM belgenize daha fazla özellik eklemek için Aspose.Slides for C++ kullanabilirsiniz. Örneğin, sunumunuza yorum ekleyebilirsiniz. Sunum slayt yorumu belirli bir yazarla ilişkilendirilir. Presentation sınıfı, ICommentAuthorCollection’da slayt yorumları eklemekten sorumlu yazarların koleksiyonunu tutar. Her yazar için ICommentCollection’da bir yorum koleksiyonu vardır.
// 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 Ppsm
pres->Save(output.ppsm, Aspose::Slides::Export::SaveFormat::Ppsm);
Sıkça Sorulan Sorular
- DOCM'yi Çevrimiçi PPSM'e nasıl dönüştürebilirim?DOCM dönüştürme için çevrimiçi uygulamayı yukarıda bulabilirsiniz. Dönüştürme işlemini başlatmak için DOCM dosyasını sürükleyip bırakarak veya beyaz alanın içine tıklayarak belgeyi içe aktararak ekleyebilirsiniz. Dosyayı ekledikten sonra, "Dönüştür" düğmesini tıklamanız yeterlidir. DOCM'den PPSM'e dönüştürme işlemi tamamlandıktan sonra, dönüştürülen dosyanızı tek bir tıklama ile indirebilirsiniz.
- DOCM'yi dönüştürmek ne kadar sürer?Bu çevrimiçi dönüştürücünün hızı büyük ölçüde dönüştürülmekte olan DOCM dosyasının boyutuna bağlıdır. Küçük DOCM dosyaları sadece birkaç saniye içinde PPSM'e dönüştürülebilir. Dönüştürme kodunu bir C++ uygulamasında kullanıyorsanız dönüştürme hızı, uygulamanızı ne kadar iyi optimize ettiğinize bağlı olacaktır.
- Ücretsiz Aspose.Total dönüştürücü kullanarak DOCM'yi PPSM'e dönüştürmek güvenli midir?Elbette! DOCM dosyanız çevrimiçi dönüştürücümüz kullanılarak PPSM'e dönüştürüldükten sonra, PPSM dosyasının indirme bağlantısı hemen kullanılabilir olacaktır. Yüklediğiniz dosyaların güvenliğini ve gizliliğini ciddiye alıyor ve dönüştürme işlemi tamamlandıktan 24 saat sonra siliyoruz. Hiç kimsenin dosyalarınıza erişemeyeceğinden emin olabilirsiniz. DOCM dönüştürme dahil dönüştürme işlemimiz tamamen güvenlidir. Kodu entegre etmeden önce sonuçları doğrulayabilmeniz için test amacıyla ücretsiz bir uygulama sunuyoruz.
- DOCM'yi dönüştürmek için hangi tarayıcıyı kullanmalıyım?Çevrimiçi DOCM dönüşümü için Google Chrome, Firefox, Opera veya Safari gibi herhangi bir modern tarayıcıyı kullanabilirsiniz. Ancak bir masaüstü uygulaması geliştiriyorsanız sorunsuz performans için Aspose.Total DOCM Conversion API önerilir.