2017-10-17 74 views
0

我正在使用wkhmtltopdf,發現我遇到了問題。 我正在使用html頁面在轉換爲PDF之前在瀏覽器中預覽內容。wkhtmltopdf從PDF中排除css文件,但在HTML中顯示

但讓它在我的預覽更具可讀性,我已經加入了網頁上的一些CSS:(在JavaScript/jQuery的有關文件準備好)

$(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(); 
    } 
    }); 

但是,這並不重要。

任何想法?

回答

0

它又是我。

不知道是否有類似於我正在尋找的東西。 因此我做了我自己的。

我加了一個頁面參數,並檢查該代碼,看它是否是truefalse

<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>