簡體   English   中英

AbcPdf不透明度AddImageHtml

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM