如何解决使用 Select.pdf 将 url 下载为 pdf 时使用特定字体
我希望从使用 vb.net 在 Visual Studio 中制作的经销商网上商店下载发票。问题是当从发布的代码下载时,下载的 pdf 的字体总是 Lucida Console,而在本地执行时它是 OpenSans。字体应为 OpenSans、Calibri、Helvetica 或类似字体。问题始于声称支持 Select.pdf 的网络酒店更换了服务器。
我希望能够管理从已发布的应用程序下载的pdf发票的字体,但尚未找到解决方案。
html转pdf代码如下:
'instantiate a html to pdf converter object
Dim converter As New HtmlToPdf()
Dim url As String = "invoice.aspx?EditOrdreId=" & Session("EditordreID")
' set converter options
converter.Options.pdfpageSize = pdfpageSize.A4
converter.Options.pdfpageOrientation = pdfpageOrientation.Portrait
converter.Options.MarginLeft = 10
converter.Options.MarginRight = 10
converter.Options.MarginTop = 20
converter.Options.MarginBottom = 20
converter.Options.AutoFitWidth = HtmlTopdfpageFitMode.AutoFit
converter.Options.WebPageWidth = 740
converter.Options.HttpCookies.Add("kultu",CultureInfo.CurrentCulture.ToString)
converter.Options.EmbedFonts = True
' set css @media print
converter.Options.CssMediaType = HtmlToPdfCssMediaType.Print
'create a new pdf document converting the html string of the page
Dim doc As PdfDocument = converter.ConvertUrl(url)
'save pdf document
Try
Dim DetConnection As String = ConfigurationManager.ConnectionStrings("PrimaryConnection").ToString()
Dim sqlDet As String = "SELECT [orders].[KundeID],[orders].[invoice_no],[orders].[delivery_date],[kunder].[firma] FROM [orders] INNER JOIN [kunder] ON [orders].[KundeID] = [kunder].[KundeID] WHERE [orders].[id] = @orderid "
Dim cnDet As New sqlConnection(DetConnection),cmdDet As New sqlCommand(sqlDet,cnDet)
cmdDet.Parameters.AddWithValue("@orderid",Convert.ToInt32(HttpContext.Current.Session("EditordreID")))
cnDet.open()
Dim readerDet As sqlDataReader = cmdDet.ExecuteReader
While readerDet.Read()
Dim invoiceno As String = readerDet("invoice_no").ToString
Dim firma As String = readerDet("firma")
Dim dato As String = Left(readerDet("delivery_date").ToString,10)
doc.Save(Response,False,Year(Now) & "-" & invoiceno & "_" & Replace(firma," ","_") & "_invoice_" & dato & ".pdf")
End While
Catch ex As Exception
Response.Write(ex.Message)
End Try
'close pdf document
doc.Close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。