Javascript 如何仅将css应用于html2canvas中生成的画布

Javascript 如何仅将css应用于html2canvas中生成的画布,javascript,html,css,html2canvas,Javascript,Html,Css,Html2canvas,在从一些地方获取了不同的代码之后,我已经能够使用html2canvas将div导出为pdf的javascript,但是我只想为生成的pdf定义css样式,而不是为实际的网页定义css样式,下面是代码(谢谢): 很不清楚你在问什么。一旦通过html2canvas导出,您就得到了一个光栅图像,您希望将特殊的css规则应用于该图像还是应用于显示的结果(如果有)。对于前者,请在导出前应用样式,导出,然后删除样式。对于后者,只需向包含导出结果的元素添加一些类名。另外,您的标记不正确。很抱歉,如果我解释得不

在从一些地方获取了不同的代码之后,我已经能够使用html2canvas将div导出为pdf的javascript,但是我只想为生成的pdf定义css样式,而不是为实际的网页定义css样式,下面是代码(谢谢):


很不清楚你在问什么。一旦通过html2canvas导出,您就得到了一个光栅图像,您希望将特殊的css规则应用于该图像还是应用于显示的结果(如果有)。对于前者,请在导出前应用样式,导出,然后删除样式。对于后者,只需向包含导出结果的元素添加一些类名。另外,您的标记不正确。很抱歉,如果我解释得不好,我不想在呈现网页的div上应用样式,我只想在光栅图像上应用样式,如何在导出之前应用样式,然后将其删除,以及标记如何不正确?谢谢…您可以在样式表中针对某些特殊类添加一些css规则,例如
.toBeExported{background color:#FF00FF;}
。在调用
html2canvas()
方法之前,将该类添加到所需元素(
myDiv.className+='toBeExported'
)中,然后在
html2canvas
方法的回调中,删除该类(
myDiv.className=myDiv.className.replace('toBeExported').trim()
),然后瞧!您的标记不正确,因为您正在设置一些
body{-webkit…
应该在哪里设置html属性。请看一看,对不起,我不是那么专业,我尝试了一些组合,没有成功,我确实将此添加到css
#DocArea{背景颜色:#ffffff;字体大小:0.4em;字母间距:1px;}
但是当你说element时,我不确定你的意思是在javasc代码中还是在div中,以及在pdf.save之后回调在哪里?如果我改为
style='body{-webkit…',
tnksexamples很好教,而且花费的时间很少,谢谢:-(不清楚您在问什么。一旦通过html2canvas导出,您就得到了一个光栅图像,您希望将特殊的css规则应用于此图像还是应用于显示的结果(如果有)。对于前者,在导出之前应用样式,导出,然后删除样式。对于后者,只需向将包含导出结果的元素添加一些类名。此外,您的标记不正确。抱歉,如果我解释得不好,我不想在呈现网页的div上应用样式,我只想在ras上应用它们ter image,我如何在导出之前应用样式,然后删除它们,以及标记如何不正确?谢谢…您可以在样式表中针对某些特殊类添加一些css规则,例如
。toBeExported{background color:#FF00FF;}
。在调用
html2canvas()
方法之前,将此类添加到所需的元素中(
myDiv.className+='toBeExported'
)然后在
html2canvas
方法的回调中,删除这个类(
myDiv.className=myDiv.className.replace('toBeExported').trim()
)瞧!您的标记不正确,因为您正在设置一些
主体{-webkit….
应该在哪里设置html属性。请看一看,对不起,我不是那么专业,我尝试了一些组合,没有成功,我确实将此添加到css
#DocArea{背景色:#ffffff;字体大小:0.4em;字母间距:1px;}
但是当你说element时,我不确定你的意思是在javasc代码中还是在div中,以及在pdf.save之后回调在哪里?如果我改为
style='body{-webkit…',
tnksexamples很好教,而且花费的时间很少,谢谢:-(
<script src='Resources/js/html2canvas.js'></script>
<script src='Resources/js/jquery.min.js'></script>
<script src='Resources/js/jspdf.debug.js'></script>
<script lang='javascript' type='text/javascript'>
function run()
 {
    var pdf = new jsPDF('p', 'pt', 'letter');
    pdf.addHTML($('#DocArea')[0], function () {
            pdf.save('$xmlid.pdf');
        });
};
</script>


<a onClick='run()' body{-webkit-print-color-adjust:exact;}><img style='padding-right: 22px;' title='Generate PDF' 
src='Images/pdfdowna.png' height='30px' onmouseover=\"this.src='Images/pdfdownb.png';\" onmouseout=\"this.src='Images/pdfdowna.png';\"></a>


<div id='DocArea' style='background-color: white; font-size: 0.5em; letter-spacing: 1px;'>
function run()
 {
    var pdf = new jsPDF('p', 'pt', 'letter');
    var options = {pagesplit: true, // render all pages
                background :'#FFFFFF',
                width: 1000
        };
    pdf.addHTML($('#DocArea')[0], 15, 15, options, function () {
            pdf.save('$xmlid.pdf');
        });
};