إدارة الروابط التشعبية

الرابط التشعبي هو مرجع إلى كائن أو بيانات أو مكان في شيء ما. هذه هي الروابط التشعبية الشائعة في عروض PowerPoint:

  • روابط لمواقع الإنترنت داخل النصوص أو الأشكال أو الوسائط
  • روابط إلى الشرائح

تسمح لك Aspose.Slides لـ C++ بتنفيذ العديد من المهام المتعلقة بالروابط التشعبية في العروض التقديمية.

إضافة روابط URL

إضافة روابط URL إلى النصوص

هذا الكود C++ يوضح لك كيفية إضافة رابط لموقع إلكتروني إلى نص:

auto presentation = System::MakeObject<Presentation>();
auto shapes = presentation->get_Slides()->idx_get(0)->get_Shapes();
auto shape = shapes->AddAutoShape(ShapeType::Rectangle, 100.0f, 100.0f, 600.0f, 50.0f, false);
shape->AddTextFrame(u"Aspose: واجهات برمجة تطبيقات تنسيق الملفات");

auto portionFormat = shape->get_TextFrame()->get_Paragraphs()->idx_get(0)->get_Portions()->idx_get(0)->get_PortionFormat();
portionFormat->set_HyperlinkClick(MakeObject<Hyperlink>(u"https://www.aspose.com/"));
portionFormat->get_HyperlinkClick()->set_Tooltip(u"أكثر من 70% من شركات Fortune 100 تثق في واجهات برمجة تطبيقات Aspose");
portionFormat->set_FontHeight(32.0f);

presentation->Save(u"presentation-out.pptx", SaveFormat::Pptx);

إضافة روابط URL إلى الأشكال أو الإطارات

هذا الكود النموذجي في C++ يوضح لك كيفية إضافة رابط لموقع إلكتروني إلى شكل:

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto shape = shapes->AddAutoShape(ShapeType::Rectangle, 100.0f, 100.0f, 600.0f, 50.0f);

shape->set_HyperlinkClick(System::MakeObject<Hyperlink>(u"https://www.aspose.com/"));
shape->get_HyperlinkClick()->set_Tooltip(u"أكثر من 70% من شركات Fortune 100 تثق في واجهات برمجة تطبيقات Aspose");

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);

إضافة روابط URL إلى الوسائط

تسمح لك Aspose.Slides بإضافة روابط إلى الصور والصوت وملفات الفيديو.

هذا الكود النموذجي يوضح لك كيفية إضافة رابط إلى صورة:

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
// يضيف صورة إلى العرض
auto image = pres->get_Images()->AddImage(File::ReadAllBytes(u"image.png"));
// ينشئ إطار صورة على الشريحة 1 بناءً على الصورة المضافة سابقًا
auto pictureFrame = shapes->AddPictureFrame(ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, image);

pictureFrame->set_HyperlinkClick(MakeObject<Hyperlink>(u"https://www.aspose.com/"));
pictureFrame->get_HyperlinkClick()->set_Tooltip(u"أكثر من 70% من شركات Fortune 100 تثق في واجهات برمجة تطبيقات Aspose");

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);

هذا الكود النموذجي يوضح لك كيفية إضافة رابط إلى ملف صوتي:

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto audio = pres->get_Audios()->AddAudio(File::ReadAllBytes(u"audio.mp3"));
auto audioFrame = shapes->AddAudioFrameEmbedded(10.0f, 10.0f, 100.0f, 100.0f, audio);

audioFrame->set_HyperlinkClick(MakeObject<Hyperlink>(u"https://www.aspose.com/"));
audioFrame->get_HyperlinkClick()->set_Tooltip(u"أكثر من 70% من شركات Fortune 100 تثق في واجهات برمجة تطبيقات Aspose");

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);

هذا الكود النموذجي يوضح لك كيفية إضافة رابط إلى فيديو:

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto video = pres->get_Videos()->AddVideo(File::ReadAllBytes(u"video.avi"));
auto videoFrame = shapes->AddVideoFrame(10.0f, 10.0f, 100.0f, 100.0f, video);

videoFrame->set_HyperlinkClick(MakeObject<Hyperlink>(u"https://www.aspose.com/"));
videoFrame->get_HyperlinkClick()->set_Tooltip(u"أكثر من 70% من شركات Fortune 100 تثق في واجهات برمجة تطبيقات Aspose");

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);

استخدام الروابط التشعبية لإنشاء جدول المحتويات

نظرًا لأن الروابط التشعبية تسمح لك بإضافة مراجع إلى كائنات أو أماكن، يمكنك استخدامها لإنشاء جدول محتويات.

هذا الكود النموذجي يوضح لك كيفية إنشاء جدول محتويات مع الروابط التشعبية:

auto presentation = System::MakeObject<Presentation>();
auto firstSlide = presentation->get_Slides()->idx_get(0);
auto secondSlide = presentation->get_Slides()->AddEmptySlide(firstSlide->get_LayoutSlide());

auto contentTable = firstSlide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 40.0f, 40.0f, 300.0f, 100.0f);
contentTable->get_FillFormat()->set_FillType(FillType::NoFill);
contentTable->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill);
contentTable->get_TextFrame()->get_Paragraphs()->Clear();

auto paragraph = System::MakeObject<Paragraph>();
auto paragraphFillFormat = paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat();
paragraphFillFormat->set_FillType(FillType::Solid);
paragraphFillFormat->get_SolidFillColor()->set_Color(Color::get_Black());
paragraph->set_Text(u"عنوان الشريحة 2 .......... ");

auto linkPortion = System::MakeObject<Portion>();
linkPortion->set_Text(u"الصفحة 2");
linkPortion->get_PortionFormat()->get_HyperlinkManager()->SetInternalHyperlinkClick(secondSlide);

paragraph->get_Portions()->Add(linkPortion);
contentTable->get_TextFrame()->get_Paragraphs()->Add(paragraph);

تنسيق الروابط التشعبية

اللون

مع الطرق set_ColorSource() وget_ColorSource() في واجهة IHyperlink، يمكنك تعيين اللون للروابط التشعبية والحصول أيضًا على معلومات اللون من الروابط التشعبية. تم تقديم هذه الميزة لأول مرة في PowerPoint 2019، لذا لا تنطبق التغييرات المتعلقة بالخاصية على إصدارات PowerPoint الأقدم.

هذا الكود النموذجي يوضح عملية حيث تتم إضافة روابط تشعبية بألوان مختلفة إلى نفس الشريحة:

auto presentation = System::MakeObject<Presentation>();
auto shapes = presentation->get_Slides()->idx_get(0)->get_Shapes();
auto shape1 = shapes->AddAutoShape(ShapeType::Rectangle, 100.0f, 100.0f, 450.0f, 50.0f, false);
shape1->AddTextFrame(u"هذا هو مثال لرابط تشعبي ملون.");
auto shape1PortionFormat = shape1->get_TextFrame()->get_Paragraphs()->idx_get(0)->get_Portions()->idx_get(0)->get_PortionFormat();
shape1PortionFormat->set_HyperlinkClick(MakeObject<Hyperlink>(u"https://www.aspose.com/"));
shape1PortionFormat->get_HyperlinkClick()->set_ColorSource(HyperlinkColorSource::PortionFormat);
shape1PortionFormat->get_FillFormat()->set_FillType(FillType::Solid);
shape1PortionFormat->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Red());

auto shape2 = shapes->AddAutoShape(ShapeType::Rectangle, 100.0f, 200.0f, 450.0f, 50.0f, false);
shape2->AddTextFrame(u"هذا هو مثال لرابط تشعبي عادي.");
auto shape2PortionFormat = shape2->get_TextFrame()->get_Paragraphs()->idx_get(0)->get_Portions()->idx_get(0)->get_PortionFormat();
shape2PortionFormat->set_HyperlinkClick(MakeObject<Hyperlink>(u"https://www.aspose.com/"));

presentation->Save(u"presentation-out-hyperlink.pptx", SaveFormat::Pptx);

إزالة الروابط التشعبية في العروض التقديمية

إزالة الروابط التشعبية من النصوص

هذا الكود C++ يظهر لك كيفية إزالة الرابط التشعبي من نص في شريحة عرض تقديمي:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
auto slide = pres->get_Slides()->idx_get(0);
for (const auto& shape : slide->get_Shapes())
{
    auto autoShape = System::AsCast<IAutoShape>(shape);
    if (autoShape != nullptr)
    {
        for (const auto& paragraph : autoShape->get_TextFrame()->get_Paragraphs())
        {
            for (const auto& portion : paragraph->get_Portions())
            {
                auto hyperlinkManager = portion->get_PortionFormat()->get_HyperlinkManager();
                hyperlinkManager->RemoveHyperlinkClick();
            }
        }
    }
}

pres->Save(u"pres-removed-hyperlinks.pptx", SaveFormat::Pptx);

إزالة الروابط التشعبية من الأشكال أو الإطارات

هذا الكود C++ يظهر لك كيفية إزالة الرابط التشعبي من شكل في شريحة عرض تقديمي:

auto pres = System::MakeObject<Presentation>(u"demo.pptx");
auto slide = pres->get_Slides()->idx_get(0);
for (const auto& shape : slide->get_Shapes())
{
    shape->get_HyperlinkManager()->RemoveHyperlinkClick();
}
pres->Save(u"pres-removed-hyperlinks.pptx", SaveFormat::Pptx);

الرابط التشعبي القابل للتعديل

فئة Hyperlink قابلة للتعديل. مع هذه الفئة، يمكنك تغيير القيم لهذه الطرق:

الشفرة توضح لك كيفية إضافة رابط تشعبي إلى الشريحة وتحرير تلميحه لاحقًا:

auto presentation = System::MakeObject<Presentation>();
auto shapes = presentation->get_Slides()->idx_get(0)->get_Shapes();
auto shape = shapes->AddAutoShape(ShapeType::Rectangle, 100.0f, 100.0f, 600.0f, 50.0f, false);

shape->AddTextFrame(u"Aspose: واجهات برمجة تطبيقات تنسيق الملفات");

auto shapePortionFormat = shape->get_TextFrame()->get_Paragraphs()->idx_get(0)->get_Portions()->idx_get(0)->get_PortionFormat();
shapePortionFormat->set_HyperlinkClick(MakeObject<Hyperlink>(u"https://www.aspose.com/"));
shapePortionFormat->get_HyperlinkClick()->set_Tooltip(u"أكثر من 70% من شركات Fortune 100 تثق في واجهات برمجة تطبيقات Aspose");
shapePortionFormat->set_FontHeight(32.0f);

presentation->Save(u"presentation-out.pptx", SaveFormat::Pptx);

طرق المدعومة في IHyperlinkQueries

يمكنك الوصول إلى IHyperlinkQueries من عرض تقديمي، شريحة، أو نص تم تعريف الرابط التشعبي له.

تدعم فئة IHyperlinkQueries هذه الطرق: