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");