Ajouter ou Modifier des hyperliens
Un lien hypertexte dans les documents Microsoft Word est le champ HYPERLINK
. Dans Aspose.Words, les hyperliens sont implémentés via la classe FieldHyperlink.
Insertion d’un Lien hypertexte
Utilisez la méthode InsertHyperlink pour insérer un lien hypertexte dans le document. Cette méthode accepte trois paramètres:
- Texte du lien à afficher dans le document
- Destination du lien (URL ou nom d’un signet à l’intérieur du document)
- Paramètre booléen qui doit être vrai si
URL
est le nom d’un signet à l’intérieur du document
La méthode InsertHyperlink ajoute toujours des apostrophes au début et à la fin de l’URL.
Font
.
L’exemple de code suivant montre comment insérer un lien hypertexte dans un document à l’aide de 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"); |
Remplacer ou Modifier des hyperliens
Le lien hypertexte dans les documents Microsoft Word est un champ. Un champ dans un document Word est une structure complexe composée de plusieurs nœuds qui incluent le début du champ, le code du champ, le séparateur de champ, le résultat du champ et la fin du champ. Les champs peuvent être imbriqués, contenir un contenu riche et s’étendre sur plusieurs paragraphes ou sections d’un document.
La classe FieldHyperlink
implémente le champ HYPERLINK
.
L’exemple de code suivant montre comment rechercher tous les liens hypertexte dans un document Word et modifier leur URL
et leur nom d’affichage:
//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"); |