Мы используем ABCPDF.Net версии 5 для создания PDF-файла из HTML. Однако ссылки не являются действующими, за исключением тех, которые отображаются в виде URL-адресов в HTML, даже если для HtmlOptions.AddLinks установлено значение true. Фактически, когда установлено значение true, ссылки отображаются с коричневым фоном, которого нет, если установлено значение false. Вот код, который мы используем для создания PDF (vb.net):
Dim oFile As Stream = New MemoryStream()
Dim objPDFInvoice As Doc = New Doc
With objPDFInvoice
Dim w As Double = .MediaBox.Width
Dim h As Double = .MediaBox.Height
Dim l As Double = .MediaBox.Left
Dim b As Double = .MediaBox.Bottom
.Rect.Left += 15
.Rect.Bottom += 15
.Rect.Width -= 15
.Rect.Height -= 15
.HtmlOptions.AddLinks = True
Dim theID As Integer = .AddImageUrl("file://" & sFileName, True, 800, True)
While True
If Not .Chainable(theID) Then
Exit While
End If
.Page = .AddPage()
theID = .AddImageToChain(theID)
End While
For iPage As Integer = 1 To .PageCount
.PageNumber = iPage
.Flatten()
Next
If .PageCount > 0 Then .Page = 1
.SetInfo(.Root, "/HtmlContent:Text", sBody.ToString)
.SetInfo(.Root, "/HtmlFilename:Text", "Certification" & ".pdf")
.Encryption.Type = 2
.Encryption.CanAssemble = False
.Encryption.CanChange = False
.Encryption.CanCopy = False
.Encryption.CanEdit = False
End With
objPDFInvoice.Save(oFile)
objPDFInvoice.Clear()
Поток памяти oFile затем отправляется как вложение электронной почты, но для тестирования я сохраняю его в файл. Обратите внимание, что sBody - это строковое представление содержимого файла HTML, используемого в AddImageURL.
Есть идеи, почему это происходит?
Спасибо заранее,
Борис Захарин