Додавання або зміна гіперпосилань
Гіперпосиланням в документах Microsoft Word є поле HYPERLINK
. У документі Aspose.Words гіперпосилання реалізуються за допомогою класу FieldHyperlink.
Вставка гіперпосилання
Використовуйте метод InsertHyperlink, щоб вставити гіперпосилання в документ. Цей метод приймає три параметри:
- Текст посилання, яка буде відображатися в документі
- Призначення посилання (URL або назва закладки всередині документа)
- Логічний параметр, який повинен мати значення true, якщо
URL
- це назва закладки всередині документа
Метод InsertHyperlink завжди додає апострофи на початку та в кінці URL.
Font
.
Наступний приклад коду показує, як вставити гіперпосилання в документ за допомогою DocumentBuilder:
//For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
builder->Write(u"Please make sure to visit "); | |
builder->get_Font()->set_Color(System::Drawing::Color::get_Blue()); | |
builder->get_Font()->set_Underline(Underline::Single); | |
builder->InsertHyperlink(u"Aspose Website", u"http://www.aspose.com", false); | |
builder->get_Font()->ClearFormatting(); | |
builder->Write(u" for more information."); | |
doc->Save(ArtifactsDir + u"AddContentUsingDocumentBuilder.InsertHyperlink.docx"); |
Замінити або змінити гіперпосилання
Гіперпосилання в документах Microsoft Word - це поле. Поле в документі Word - це складна структура, що складається з безлічі вузлів, які включають початок поля, код поля, роздільник полів, результат поля та кінець поля. Поля можуть бути вкладеними, містити великий вміст і охоплювати кілька абзаців або розділів документа.
Клас FieldHyperlink
реалізує поле HYPERLINK
.
Наступний приклад коду показує, як знайти всі гіперпосилання в документі Word та змінити їх URL
та відображувану назву:
//For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
auto doc = MakeObject<Document>(MyDir + u"Hyperlinks.docx"); | |
for (const auto& field : System::IterateOver(doc->get_Range()->get_Fields())) | |
{ | |
if (field->get_Type() == FieldType::FieldHyperlink) | |
{ | |
auto hyperlink = System::DynamicCast<FieldHyperlink>(field); | |
// Some hyperlinks can be local (links to bookmarks inside the document), ignore these. | |
if (hyperlink->get_SubAddress() != nullptr) | |
{ | |
continue; | |
} | |
hyperlink->set_Address(u"http://www.aspose.com"); | |
hyperlink->set_Result(u"Aspose - The .NET & Java Component Publisher"); | |
} | |
} | |
doc->Save(ArtifactsDir + u"WorkingWithFields.ReplaceHyperlinks.docx"); |