繁体   English   中英

页面加载完成后,如何使用ABCpdf中的AddImageUrl生成pdf

[英]How I can generate the pdf using AddImageUrl from ABCpdf after the page is loaded complete

我想将网页的缩略图添加到pdf文档中,

我这样添加:

    Doc generatedoc = new Doc();
    generatedoc.HtmlOptions.UseScript = true;

    string urlToHtmlPage = "http://example.com?param1=30&param2=true";
    int generatedId = generatedoc.AddImageUrl(urlToHtmlPage);

    generatedoc.Save(HttpContext.Current.Server.MapPath("htmlimport.pdf"));
    generatedoc.Clear();

在url中,我发送了两个参数,具体取决于页面中的参数,为各种html标签添加了一个类,例如:

<div class="cssClass <%=param2==true?"secondCssClass":""%>">some html tags</div>

要么

<span class="<%= param2==true?"secondCssClass":"" %>"> some text </span>

内在风格

<style type="text/css">
    .secondCssClass
    {
        display: none;
    }
</style>

pdf生成成功,但是secondCssClass未添加到我的标签中,并且css不适用我尝试设置较大的超时时间,但是css不适用

我这样设置超时时间:

generatedoc.HtmlOptions.Timeout = 1000000;

要么

generatedoc.HtmlOptions.OnLoadScript = "(function(){ window.ABCpdf_go = false;
            setTimeout(function(){ window.ABCpdf_go = true; }, 1000000); })();";

或RenderWait()和RenderComplete()

   generatedoc.HtmlOptions.OnLoadScript = @"
    window.external.ABCpdf_RenderWait(); 
    window.external.ABCpdf_RenderComplete(true);";

但是无论如何,当我在浏览器css中加载url时,CSS并不适用吗?

根据您对评论的答复,即使在浏览器中您也看到了该问题,这表明这不是ABCPDF问题。

我认为问题出在以下方面:

<div class="cssClass <%=param2==true?"secondCssClass":""%>">some html tags</div>

<span class="<%= param2==true?"secondCssClass":"" %>"> some text </span>

如果该代码正是您正在运行的代码中所包含的代码,那么您需要对以下几行进行调整:

  1. 访问URL参数,您需要使用Request对象
  2. URL参数是文本,您的比较将其作为布尔值

代码应如下:

<div class="cssClass <%= Request.QueryString("param2")=="true"?"secondCssClass":"" %>">some html tags</div>

<span class="<%= Request.QueryString("param2")=="true"?"secondCssClass":"" %>"> some text </span>

我建议您先通过ABCPDF对它进行测试,然后再在浏览器中对其进行测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM