What is the RTF syntax for a hyperlink?
Asked Answered
F

4

41

HTML is to <a href="x">y</a> as RTF is to _______?

Fortunio answered 17/5, 2010 at 15:51 Comment(2)
For the record, on Windows machines you can open WordPad and create a document with any formatting you want in it. Then save it. Close it in wordpad and open it in your favorite text editor. Unlike word, wordpad produces clean RTF.Wingspan
@SethSpearman Very good point - much cleaner. Unfortunately WordPad doesn't do hyperlinks.Runty
S
42

The equivalent of the following HTML:

<a href="https://www.google.com">Google</a>

for an RTF file is:

{\field{\*\fldinst HYPERLINK "http://www.google.com/"}{\fldrslt Google}}

which results in a link:

Google

but without additional style information, will appear unformatted:

Google

Skite answered 9/11, 2010 at 12:35 Comment(4)
RTF field syntax is covered in the specification, and using the HYPERLINK instruction will give you a link. This question shows a usage of the HYPERLINK instruction.Haroldson
I'm getting this: {\field{\*\fldinst { HYPERLINK "http://www.google.com" }}{\fldrslt {http://www.google.com}}}Maricela
Note: this does not include any hyperlink formatting (underline, coloured link).Deputation
Interestingly, it appears this is reusing (abusing?) field calculation to show different text. That is, these control words are typically used for things like showing the current time ({\field{\*\fldinst time \\@ "h:mm AM/PM"}{\fldrslt 12:35 PM}}). It looks like this is the de facto standard for doing this, though.Aspire
D
7

This will show the hyperlink in the usual blue, with underline:

{\colortbl ;\red0\green0\blue238;}
{\field{\*\fldinst HYPERLINK "URL"}{\fldrslt{\ul\cf1Text to display}}}
Deputation answered 8/5, 2014 at 8:14 Comment(2)
By adding this text e.g RTFBox.Rtf = "{\colortbl ;\red0\green0\blue238;}{\field{*\fldinst HYPERLINK \"URL\"}{\fldrslt{\ul\cf1Text to display}}}" an exception is thrown. Any suggestions?Incontinent
@Incontinent Prefix that string with '{\rtf1' and suffix with '}'Binetta
G
4

The last article works fine. I even took it further to display multiple links (and replaced \par to \line tags in order to stay in the same paragraph).

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\colortbl ;\red0\green0\blue255;}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22
{\field{\*\fldinst{HYPERLINK "http://www.google.com"}}{\fldrslt{\ul\cf1This is a Google URL}}}\f0\fs22\line
{\field{\*\fldinst{HYPERLINK "http://www.google.com"}}{\fldrslt{\ul\cf1This is a Second URL}}}\f0\fs22\line
}
Gyral answered 19/7, 2012 at 19:38 Comment(0)
L
1

I don't know much about what your trying to do, but If I open and save an rtf document, with just the http://www.google.com link in it, and view it with notepad I get this:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\colortbl ;\red0\green0\blue255;}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22{\field{\*\fldinst{HYPERLINK "http://www.google.com"}}{\fldrslt{\ul\cf1 http://www.google.com}}}\f0\fs22\par
\par
}
Leatherleaf answered 17/5, 2010 at 15:55 Comment(2)
Yeah, that's typical Word-crud though, isn't it... I'd imagine the {\field{*\fldinst{HYPERLINK "http://www.google.com"}}{\fldrslt{http://www.google.com}} bit is the only actually-important part.Bartizan
Ya I just copied pasted out of notepad - not positive of exactly which part is the one needed - but thats most likely it.Leatherleaf

© 2022 - 2024 — McMap. All rights reserved.