我正在使用 ABCPDF 库的 AddImageUrl 函数并使页面呈现为 PDF 格式。但是我遇到了一个问题,链接(标签)没有在 PDF 链接中呈现,而是作为没有链接功能的普通文本呈现。我检查了 HTML 页面以确保页面上存在链接。
问问题
2301 次
2 回答
10
我想通了。希望这将帮助遇到此问题的其他人。在生成 pdf 以使链接处于活动状态之前,您需要包含以下行。
theDoc.HtmlOptions.AddLinks = true;
于 2012-01-11T15:23:54.403 回答
-1
我们正在使用 ABCPDF.Net 版本 6 从 HTML 创建 PDF 文件。但是,除了那些在 HTML 中显示为 URL 的链接之外,即使 HtmlOptions.AddLinks 设置为 true,这些链接也不会生效。事实上,当它设置为 true 时,链接呈现的棕色背景在设置为 false 时不存在。这是我们使用 vb.net 创建 PDF 的代码
Dim theID As Object
Dim pageRect As String
Dim Header As String = Nothing
If SubBank.Length <> 0 Then
If HttpContext.Current.Session("BankType") IsNot Nothing And (HttpContext.Current.Session("BankType") = 1 Or HttpContext.Current.Session("BankType") = 4) Then
Header = "<br/><br/> <br/><br/><div class='bankname1' align='center'>" & SubBank & " </div><div style='float:right'><img src='" & getBaseUrl() & "/Images_Modern/SGPSMainLogo.png' /> </div>"
Else
Header = "<br/><br/> <br/><br/><div class='bankname1' align='center'>" & SubBank & " </div><div style='float:right'><img src='" & getBaseUrl() & "/Images_Modern/bankers_gps_logo_pdf.gif' /> </div>"
End If
If PeerGroup.Length <> 0 AndAlso HttpContext.Current.Session("Product_Id") = 1 Then
Header &= "<div class='bankname2' align='center'>Vs " & PeerGroup & " </div>"
End If
strContent = Header & strContent
End If
Dim objAbc As New WebSupergoo.ABCpdf6.Doc
objAbc.Rect.Inset(15, 15)
CreateErrorText(Header)
Dim ObjSet As New PDFSettings
ObjSet.objAbc = objAbc
ObjSet.OriWidth = objAbc.MediaBox.Width
ObjSet.OriHeight = objAbc.MediaBox.Height
objAbc.HtmlOptions.AddLinks = True
objAbc.HtmlOptions.TargetLinks = True
'objAbc.HtmlOptions.MaxAtomicImageSize = 100
'objAbc.HtmlOptions.ImageQuality = 101
ObjSet.Rotate(Orientation)
'theID = objAbc.AddImageHtml(strContent, True, 0, False)
'objAbc.SetInfo(theID, "/Rotate", "90")
theID = objAbc.AddImageHtml(strContent)
objAbc.Rendering.DotsPerInch = 96S
pageRect = objAbc.Rect.String
Do
'theDoc.FrameRect
If Not objAbc.Chainable(theID) Then Exit Do
objAbc.Page = objAbc.AddPage()
theID = objAbc.AddImageToChain(theID)
Loop
Dim i
For i = 1 To objAbc.PageCount
objAbc.PageNumber = i
objAbc.Flatten()
Next
'added By yuvraj For NS Headder :17/04/2012
If (strContent.IndexOf("NSHEADSTART") > -1) Then
objAbc.HPos = 0.5
objAbc.VPos = 0.5
' objAbc.Color.String = "0 255 0"
objAbc.FontSize = 16
For i = 1 To objAbc.PageCount
objAbc.PageNumber = i
objAbc.Rect.Pin = 0
objAbc.Rect.String = "20 20 400 400"
objAbc.HPos = 0.5
objAbc.AddHtml(getHeadText(strContent))
objAbc.Rect.Move(200, 500)
objAbc.Rect.String = pageRect
objAbc.HPos = 0
Next
End If
'theDoc.Rect.Move 0, -50
objAbc.HPos = 0
objAbc.Save(PDFPath)
objAbc.Clear()
'Response.Redirect(".\PDF\manoj12.pdf")
objAbc = Nothing
theID = Nothinge
于 2018-05-10T09:27:28.950 回答