Přidání nebo úprava hypertextových odkazů
Hypertextový odkaz v dokumentech Microsoft Word je pole HYPERLINK. V Aspose.Words jsou hypertextové odkazy implementovány prostřednictvím třídy FieldHyperlink.
Vložení hypertextového odkazu
Pomocí metody InsertHyperlink vložte hypertextový odkaz do dokumentu. Tato metoda přijímá tři parametry:
- Text odkazu, který se má zobrazit v dokumentu
- Cíl odkazu (URL nebo název záložky uvnitř dokumentu)
- Booleovský parametr, který by měl být pravdivý, pokud
URLje název záložky uvnitř dokumentu
Metoda InsertHyperlink vždy přidává apostrofy na začátek a konec URL.
Font.
Následující příklad kódu ukazuje, jak vložit hypertextový odkaz do dokumentu pomocí 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"); |
Nahradit nebo upravit hypertextové odkazy
Hypertextový odkaz v dokumentech Microsoft Word je pole. Pole v dokumentu Word je složitá struktura skládající se z více uzlů, které zahrnují začátek pole, kód pole, oddělovač pole, výsledek pole a konec pole. Pole lze vnořit, obsahovat bohatý obsah a překlenout více odstavců nebo oddílů v dokumentu.
Třída FieldHyperlink implementuje pole HYPERLINK.
Následující příklad kódu ukazuje, jak najít všechny hypertextové odkazy v Word dokumentu a změní jejich URL a zobrazovaný název:
| //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"); |