2

我一直在使用 EvoPdf 3.5 版没有问题,但突然之间它无法从 SSL 读取样式表。

string html = "<link href=\"https://www.domain.com/styles.css\" rel=\"stylesheet\" type=\"text/css\" />Test";
PdfConverter pdfConverter = new PdfConverter();
byte[] bytes = pdfConverter.GetPdfBytesFromHtmlString(html);

如果从http. 在另一个 IIS 上,可以从 SSL 读取样式表。

我不知道如何解决这个问题。会不会是 DNS 问题?

4

3 回答 3

4

原因是服务器上禁用了 SSL 3.0,并且低于 4.0 的 EVO HTML 到 PDF 转换器的版本不完全支持 TLS,因此在访问 HTTPS 文档或资源时可能无法在所有服务器上正常工作。如果 HTML 文档中的 HTTPS URL 引用这些资源,这可能会导致错误、丢失图像和样式。

于 2015-05-18T12:52:04.967 回答
0

将站点移动到新的 Web 服务器后,我遇到了这个问题。EvoPdf 的支持团队建议我更改我的 CSS 引用以通过 IP 访问它:

Dim csspath As String = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + ResolveUrl("~/") + "Styles/MyStyles.css"
Dim rootIP As String = System.Net.Dns.GetHostEntry(Request.Url.Host).AddressList(0).ToString()
csspath = csspath.Replace("mydomain.com", rootIP)

这当然是一种解决方法,但是在无法在 Web 服务器或 IIS 中找到问题的根源后,这解决了问题。

于 2018-08-06T17:08:36.653 回答
0

您可以尝试从 chrome 商店下载 pdf 查看器。它正在为 ssl pdf 工作做好准备,并且对我有用。

使用基于 ssl/https 在 iframe 中显示 pdf

于 2016-01-29T07:58:56.733 回答