C# AbcPdf不透明度AddImageHtml
我使用的是C# AbcPdf不透明度AddImageHtml,c#,jquery,pdf,opacity,abcpdf,C#,Jquery,Pdf,Opacity,Abcpdf,我使用的是AbcPdf,使用Alpha/Opacity风格有点困难 在.AddImageHtml()方法中呈现 这需要添加为样式表,因为我正在从html创建pdf 有些图像有不透明度,但不是全部,因此,我需要将不透明度仅放在具有不透明度作为样式表的图像上 我使用的AbcPdf版本是8.1.1.5 示例代码 [HttpPost] [ValidateInput(false)] public virtual ActionResult GeneratePDF(string pdf)
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>";
b。将服务器上的IE升级到IE9
c。将Css更改为与IE8兼容。检查此线程这不是答案,而是用一个更容易验证的示例来补充问题。我有两个灰色的框,图像应该在那里。我使用的是ABCPDF9.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");
您使用的是什么版本的ABCPdf?另外,请提供一个示例HTML。/@malkassem我已经更新了我的ask。仍然不工作。=/我的样式表已内联。@HugoS.Mendes选项2如何?另外,您可以提供示例html吗?OnLoadScript做什么?提供一个JavaScript代码,您可能希望在将网页复制到PDF之前执行该代码。在这种情况下,只需等待页面完全呈现即可。有关更多信息,请参阅
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");