ABCPDF ссылки не работают - PullRequest
1 голос
/ 24 февраля 2012

Мы используем 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.

Есть идеи, почему это происходит?

Спасибо заранее, Борис Захарин

1 Ответ

0 голосов
/ 22 марта 2012

Эта проблема возникла у нас, когда мы портировали наше приложение с Win Server 2003 на Win Server 2008.

Это не было непосредственной причиной, переход с IE8 на IE9 вызвал коричневый фоновый цвет ссылок.

Мы исправили проблему путем обновления до AbcPdf 8.

...