wkhtmltopdf 从 PDF 中排除 css 个文件,但在 HTML 中显示

wkhtmltopdf exclude css files from PDF but show in HTML

我在使用 wkhmtltopdf 时发现它有问题。 在转换为 PDF 之前,我还使用 html 页面在浏览器中预览内容。

但为了使它在我的预览中更具可读性,我在页面上添加了一些 css:(在 javascript/jQuery on document ready)

  $(document).ready(function () {
    if(window.location.href.indexOf("preview") > -1 && window.location.href.indexOf(".pdf") == -1) {
      appendCSStoHtml();
    }
  });

  function appendCSStoHtml() {
    $("body").css({"background-color":" #F0F8FF"});

    $("#previewHtml").css({
      "margin-left":"15%",
      "margin-right":"15%",
      "margin-top":"15px",
      "max-width":"1024px"});

    $("#previewHtml > h2").css({"margin-left":" 15px"});
  }

所以这一切都很好,但当我基于这个 HTML 页面生成我的 PDF 时,css 也在我的 PDF 中呈现,并且轮廓和背景也存在在 PDF 中。

我不想发生这种情况,我只希望我的 css 样式元素呈现在 HTML 页面上,而不是在 PDF 中。

我怎样才能做到这一点?

我尝试了以下方法:

  $(document).ready(function () {
    if(window.location.href.indexOf("preview") > -1 && window.location.href.indexOf(".pdf") == -1) {
      appendCSStoHtml();
    }
  });

但这并不重要。

有什么想法吗?

又是我

不确定是否有与我正在寻找的东西相似的东西。 所以我自己做了。

我添加了一个页面参数并在代码中检查它是 true 还是 false:

<script type="text/javascript">

  $(document).ready(function () {
    var url_string = window.location.href;
    var url = new URL(url_string);
    var renderCss = url.searchParams.get("renderCss");

    if(renderCss == 'true') {
      appendCSStoHtml();
    }
  });

  function appendCSStoHtml() {
    $("body").css({"background-color":" #F0F8FF"});

    $("#previewHtml").css({
      "margin-left":"15%",
      "margin-right":"15%",
      "margin-top":"15px",
      "max-width":"1024px"});

    $("#previewHtml > h2").css({"margin-left":" 15px"});
  }

</script>