javascript-将CSS样式的HTML导出为PDF
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-将CSS样式的HTML导出为PDF,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6637字,纯文字阅读大概需要10分钟。
内容图文
![javascript-将CSS样式的HTML导出为PDF](/upload/InfoBanner/zyjiaocheng/668/50d2d0d367104bc488156f5f285e0639.jpg)
我正在申请工作,需要简历.因为我真的很讨厌使用Word,并且出于这个目的它使我发疯,所以我只是用HTML和CSS来完成它,因此以后将它导出到pdf相当容易.
但是,事实证明,这比预期的要难.我已经尝试过使用jsPDF以及关于此主题的stackoverflow帖子中介绍的几乎所有方法,但是它总是以某种方式失真或根本无法工作.
要么不包括CSS,要么PDF中只有我的简历的一部分.
我已经附加了文件,需要将.page导出为pdf,格式应为A4.
有没有一种方法可以使用JavaScript / jQuery实现我所需要的?
在最坏的情况下,我也可以使用php,但这会使事情变得更加复杂.
我知道,仅使用Word或诸如此类的时间消耗方法可能会最容易.但是仅仅出于个人利益,我该怎么做呢?
提前谢谢你们
*{
margin: 0;
padding: 0;
font-family: 'Open Sans';
}
body {
background:#aaa;
}
.dash {
content: '';
width: 100%;
height: 1px;
background: #676767;
display: block;
clear:both;
}
.page {
width: 1000px;
height: 1414.2135px;
background: white;
margin: 100px auto;
position: relative;
overflow: hidden;
}
.page .overlay #left_rect {
width: 200%;
height: 500px;
background: #676767;
position: absolute;
z-index: 1;
transform: rotate(-45deg);
left: -100%;
top: -50px;
}
.page .overlay #right_rect {
width: 200%;
height: 500px;
background: #26556d;
position: absolute;
transform: rotate(16.18deg);
z-index: 2;
left: -100px;
top: -249px;
}
.page .left,
.page .right {
float: left;
}
.page .left {
width: calc(38.1966% - 50px);
height: 100%;
background: #eee;
padding: 565px 25px 0;
}
.page .left img {
width: 250px;
position: absolute;
left: 60px;
top: 190px;
z-index: 2;
}
.page .left .section {
margin-bottom: 25px;
}
.page .left .section.contact {
position: absolute;
left: 25px;
bottom: 0;
}
.page .right {
width: calc( 61.8034% - 50px);
height: 100%;
margin-top: 200px;
padding: 25px;
}
.page .right .top h1 {
color: #255571;
font-size: 35px;
float:left;
}
.page .right .top h2 {
color: #666;
font-size: 20px;
float: left;
margin-top: 15px;
margin-left: 10px;
font-weight: 400;
}
.page .right .top:after {
content:'';
display: block;
clear: both;
height: 25px;
}
.page .right .section:after {
content:'';
display: block;
clear: both;
height: 25px;
}
.page .section h1 {
color: #26556d;
font-size: 25px;
text-transform: uppercase;
}
.page .right .section .sub {
padding: 5px 0 10px;
}
.page .right .section .sub.half {
width: 50%;
float: left;
}
.page .right .section .sub h2 {
color: #676767;
font-size: 18px;
}
.page .right .section .sub h3 {
color: #676767;
font-size: 18px;
font-weight: 400;
margin-bottom: 5px;
}
.page .right .section .sub h4,
.page .left .section p {
color: #777;
font-size: 17px;
font-weight: 400;
}
.page .right .section .sub ul {
margin-left: 30px;
color: #777;
font-size: 17px;
font-weight: 400;
}
<!DOCTYPE HTML>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet">
</head>
<body>
<section class="page">
<div class="overlay">
<div id="left_rect"></div>
<div id="right_rect"></div>
</div>
<div class="left">
<img src="https://cdn.pixabay.com/photo/2015/12/22/04/00/photo-1103597_1280.png">
<div class="section about">
<h1>About Me</h1>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</div>
<div class="section contact">
<h1>Contact</h1>
<p>
John Doe<br>
Some Street 123<br>
1234 City<br><br>
<b>T:</b> 01234 5678910<br>
<b>M:</b> john.doe@mail.com
</p>
</div>
</div>
<div class="right">
<div class="top">
<h1>John Doe</h1>
<h2>01.01.1990</h2>
</div>
<div class="section">
<h1>Lorem Ipsum</h1>
<div class="sub half">
<h2>School (2,0)</h2>
<h3>Sep 2000 - Aug 2015</h3>
<h4>Some School</h4>
</div>
<div class="sub half">
<h2>B.Sc. Business</h2>
<h3>Sep 2016 - Mar 2019</h3>
<h4>Some University</h4>
</div>
</div>
<div class="section">
<h1>Lorem Ipsum</h1>
<div class="sub">
<h2>Softwaredeveloper at some company</h2>
<h3>Aug 2015 - Mar 2016</h3>
<ul>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
</ul>
</div>
<span class="dash"></span>
<div class="sub">
<h2>Softwaredeveloper at some company</h2>
<h3>Apr 2016 - Feb 2017</h3>
<ul>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
</ul>
</div>
<span class="dash"></span>
<div class="sub">
<h2>Softwaredeveloper at some company</h2>
<h3>Mar 2017 - Mar 2018</h3>
<ul>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</li>
</ul>
</div>
</div>
<div class="section">
<h1>Lorem Ipsum</h1>
<div class="sub half">
<h2>IT-Knowledge</h2>
<ul>
<li>PHP, Java, JavaScript</li>
<li>HTML, CSS, jQuery, MySQL</li>
<li>Operating Systems: Windows, MacOS</li>
</ul>
</div>
<div class="sub half">
<h2>Languages</h2>
<ul>
<li>German</li>
<li>English</li>
<li>French</li>
<li>Spanish</li>
</ul>
</div>
<span class="dash"></span>
<div class="sub">
<h2>Interests</h2>
<ul>
<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr:</li>
<ul>
<li>Sed diam nonumy eirmod tempor invidunt</li>
<li>Sed diam nonumy eirmod tempor invidunt</li>
<li>Sed diam nonumy eirmod tempor invidunt</li>
</ul>
<li>
Sed diam nonumy eirmod tempor invidunt
</li>
</ul>
</div>
</div>
</div>
</section>
</body>
</html>
解决方法:
一切都按预期进行.
为了实现可重复性,从html到pdf会忽略背景图片,并将文本颜色默认为系统颜色(通常为黑色).为什么?因为在大多数情况下,它弊大于利. Web图形可以使用各种各样的图形技术,但并非所有图形技术都与打印兼容(从某种意义上说,它看起来可能很糟糕,难以阅读,并且在墨盒上也可能较重).大多数打印网页的人都对文本及其可读性感兴趣,而不对精美的图形感兴趣.
因此,当您尝试直接从问题所在的SO代码片段中打印(Ctrl P)CV时,默认情况下,Chrome会忽略背景图片.打开高级设置并选中“背景图形”后,它看起来像您想要的那样:
我不知道如何在您要使用的任何库中启用背景图形,但是我可以向您保证,大多数(如果不是全部)都具有默认关闭的设置.
您所需要做的就是在您的库的文档中找到该设置并将其打开.
内容总结
以上是互联网集市为您收集整理的javascript-将CSS样式的HTML导出为PDF全部内容,希望文章能够帮你解决javascript-将CSS样式的HTML导出为PDF所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。