[英]AbcPdf Opacity AddImageHtml
我正在使用AbcPdf
並且很難使用Alpha/Opacity
樣式在.AddImageHtml()
方法中進行渲染。
這需要作為樣式表添加,因為我是從html創建pdf的 。
有些圖像具有不透明度,但不是全部,因此,我只需要將不透明度用作樣式表中具有不透明度的圖像。
我正在使用的AbcPdf
版本是8.1.1.5
樣本代碼
[HttpPost]
[ValidateInput(false)]
public virtual ActionResult GeneratePDF(string pdf)
{
Doc theDoc = new Doc();
theDoc.AddImageHtml(pdf);
theDoc.Rect.Inset(20, 20);
string pathForSaving = Server.MapPath("~/Uploads");
theDoc.Save(Path.Combine(pathForSaving, "htmlimport.pdf"));
theDoc.Clear();
return Json(new { }, "text/html");
}
[更新]
我仍然有問題,但是在上傳之前我在圖像中應用了不透明度。 換句話說,我的圖像已被保存為不透明。
盡管應用了不透明度,但是渲染的圖像沒有不透明度。 (我檢查了我的Upload
文件夾,並且保存的圖像不透明)
這里發生了什么事?
[/更新]
任何幫助將不勝感激。
謝謝。
您看到的行為有很多可能的原因。
選項1
您頁面中使用的Css沒有傳遞給AddImageHtml
。 意味着pdf
變量沒有Css。 您可以通過在樣式標簽中將Css附加到html來解決此問題。 例:
pdf += @"<style> your css code</style>";
選項2
您服務器上的IE版本是IE8,並且您使用的是IE8不支持的Css Opacity屬性。 要解決此問題,您可以
一種。 通過添加以下行來使用Gecko引擎
doc.HtmlOptions.Engine = WebSupergoo.ABCpdf9.EngineType.Gecko;
b。 將服務器上的IE升級到IE9
C。 將您的CSS更改為與IE8兼容。 檢查此線程Opacity CSS在IE8中不起作用
這不是答案,而是用一個可能更容易驗證的示例來增加問題。 我得到兩個應該顯示圖像的灰色框。 我正在使用ABCPdf 9.1。
Doc docPDF = new Doc();
docPDF.HtmlOptions.Engine = EngineType.Gecko;
docPDF.HtmlOptions.ForGecko.RequestMethod = UrlRequestMethodType.Get;
//docPDF.HtmlOptions.ForGecko.Media = MediaType.Screen;
docPDF.HtmlOptions.ForGecko.UseScript = true;
docPDF.HtmlOptions.ForGecko.OnLoadScript =
"window.ABCpdf_go = false; " +
"setTimeout(function() {window.ABCpdf_go = true;}, 5000);";
docPDF.AddImageUrl("http://www.w3schools.com/css/tryit.asp?filename=trycss_image_transparency");
docPDF.Save(@".\out.pdf");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.