Adicionar ou modificar hiperligações
Um hiperlink em Microsoft Word documentos é o campo HYPERLINK
. Em Aspose.Words, os hiperlinks são implementados através da classe FieldHyperlink.
Inserir uma hiperligação
Utilize o método InsertHyperlink para inserir uma hiperligação no documento. Este método Aceita três parâmetros:
- Texto da ligação a apresentar no documento
- Destino do Link (URL ou o nome de um marcador dentro do documento)
- Parâmetro booleano que deve ser verdadeiro se
URL
for o nome de um marcador dentro do documento
O método InsertHyperlink sempre adiciona apóstrofos no início e no final do URL.
Font
.
O exemplo de código a seguir mostra como inserir um hiperlink em um documento usando 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"); |
Substituir ou modificar hiperligações
Hiperligação em Microsoft Word documentos é um campo. Um campo em um documento do Word é uma estrutura complexa que consiste em vários nós que incluem início de campo, Código de campo, separador de campo, Resultado de campo e fim de campo. Os campos podem ser aninhados, conter conteúdo rico e abranger vários parágrafos ou seções em um documento.
A classe FieldHyperlink
implementa o campo HYPERLINK
.
O exemplo de código a seguir mostra como encontrar todos os hiperlinks no documento do Word e altera seu URL
e nome de exibição:
//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"); |