我使用了itextsharp.dll将html转换为Pdf。它的工作正常只有问题是它不能在pdf中呈现css。我的代码如下:
string[] attachment;
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Certificate.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
System.Text.StringBuilder ss = new System.Text.StringBuilder(CertificateHtml);
StringWriter sw = new StringWriter(ss);
HtmlTextWriter hw = new HtmlTextWriter(sw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
string PdfName = "Certificate" + name;
PdfWriter.GetInstance(pdfDoc, new FileStream(Server.MapPath("~/DesktopModules/SterlingPlanet-SP_CheckOut/PDfCertificate/" + PdfName + ".pdf"), FileMode.Create));
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
我的css像傻瓜一样
body {
font-family: Conv_Californian FB,Arial;
margin: 0;
padding: 0;
}
#wrapper {
background: url("../images/bg.jpg") no-repeat scroll 0 0 transparent;
height: 719px;
margin: 25px auto 0;
position: relative;
width: 959px;
}
.wrapper_inner {
color: White;
text-align: center;
width: 100%;
}
.wrapper_inner h1 {
color: #FFFFFF;
font-size: 65px;
letter-spacing: 16px;
padding-top: 38px;
text-align: center;
}
.wrapper_inner h6 {
color: #FFFFFF;
font-size: 17px;
letter-spacing: 10px;
margin: -53px;
text-align: center;
}
有没有替代的itextsharp.dll可以用hss将html转换为pdf,或者如果有任何我想丢失的代码可以将css呈现给html.Kindly帮助。
答案 0 :(得分:0)
当我在安全服务器上处理过这个问题时,我必须在传递给pdf转换器之前更改css引用。与图像引用有类似的问题。
如果引用是安全服务器,则转换器无法看到它,如果它指向非安全服务器,则安全页面会向用户提示不安全内容。
答案 1 :(得分:0)
在像素中使用内联css和大小,它在itextsharp html中不能用于pdf。