Migradoc を使用して PDF に Weblink をレンダリングしようとすると、奇妙な問題が発生します。
Paragraph hotelP = cell.AddParagraph(offer.Hotel.CompanyName.ToString());
hotelP.AddLineBreak();
Hyperlink hyperlink = hotelP.AddHyperlink(String.IsNullOrEmpty(offer.Hotel.Link) ? "" : offer.Hotel.Link, HyperlinkType.Web);
hyperlink.AddFormattedText(String.IsNullOrEmpty(offer.Hotel.Link) ? "" : offer.Hotel.Link.ToString(), "WebLink");
これは正しくレンダリングされますが、ヒットしようとするリンクは、プロジェクトの file:///...bin/Debug(or Release)/www.theActualLink.org フォルダー内のファイル リンクです。
なぜこれが起こっているのですか?PDFSharp フォーラムによると、コード スニペットはこれを行う正しい方法である必要があります。
編集:トーマスのおかげで、コードを次のように変更しました:
if (!String.IsNullOrEmpty(offer.Hotel.Link))
{
Hyperlink hyperlink = hotelP.AddHyperlink("http://" + offer.Hotel.Link, HyperlinkType.Web);
hyperlink.AddFormattedText(offer.Hotel.Link, "WebLink");
}
これは最終的なコードではありませんが、リンクの "http://" プレフィックスにより機能するようになりました。乾杯!