ハイパーリンクの追加または変更
Microsoft Word文書内のハイパーリンクはHYPERLINK
フィールドです。 Aspose.Wordsでは、ハイパーリンクはFieldHyperlinkクラスを介して実装されます。
ハイパーリンクを挿入する
ドキュメントにハイパーリンクを挿入するには、InsertHyperlinkメソッドを使用します。 このメソッドは、次の3つのパラメーターを受け入れます:
- ドキュメントに表示されるリンクのテキスト
- リンク先(URLまたは文書内のブックマークの名前)
URL
がドキュメント内のブックマークの名前である場合にtrueにする必要があるBooleanパラメータ
InsertHyperlinkメソッドは、常にURLの先頭と末尾にアポストロフィを追加します。
Font
プロパティを使用して、ハイパーリンク表示テキストのフォント書式を明示的に指定する必要があることに注意してください。
次のコード例は、DocumentBuilderを使用してドキュメントにハイパーリンクを挿入する方法を示しています:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.write("Please make sure to visit "); | |
builder.getFont().setColor(Color.BLUE); | |
builder.getFont().setUnderline(Underline.SINGLE); | |
builder.insertHyperlink("Aspose Website", "http://www.aspose.com", false); | |
builder.getFont().clearFormatting(); | |
builder.write(" for more information."); | |
doc.save(getArtifactsDir() + "AddContentUsingDocumentBuilder.InsertHyperlink.docx"); |
ハイパーリンクの置換または変更
Microsoft Word文書内のハイパーリンクはフィールドです。 前述したように、Word文書のフィールドは、フィールドの開始、フィールドコード、フィールドの区切り文字、フィールドの結果、フィールドの終了を含む複数のノードで構成される複雑な構造です。 フィールドは入れ子にすることができ、リッチコンテンツを含み、ドキュメント内の複数の段落またはセクションにまたがることができます。
ハイパーリンクを置き換えたり変更したりするには、文書内のハイパーリンクを見つけて、テキストURLsまたはその両方を置き換える必要があります。
次のコード例は、Word文書内のすべてのハイパーリンクを検索し、それらのURL
と表示名を変更する方法を示しています:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(getMyDir() + "Hyperlinks.docx"); | |
for (Field field : doc.getRange().getFields()) | |
{ | |
if (field.getType() == FieldType.FIELD_HYPERLINK) | |
{ | |
FieldHyperlink hyperlink = (FieldHyperlink) field; | |
// Some hyperlinks can be local (links to bookmarks inside the document), ignore these. | |
if (hyperlink.getSubAddress() != null) | |
continue; | |
hyperlink.setAddress("http://www.aspose.com"); | |
hyperlink.setResult("Aspose - The .NET & Java Component Publisher"); | |
} | |
} | |
doc.save(getArtifactsDir() + "WorkingWithFields.ReplaceHyperlinks.docx"); |