gpt4 book ai didi

javascript - 将 CSS 样式的 HTML 导出为 PDF

转载 作者:可可西里 更新时间:2023-11-01 12:57:15 63 4
gpt4 key购买 nike

我正在申请一份工作,需要一份简历。因为我真的很讨厌使用 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>

最佳答案

一切都按预期进行。

对于redability,html 到 pdf 忽略背景图像并将文本颜色默认为系统颜色(通常为黑色)。 为什么?因为在大多数情况下它利大于弊。 Web 图形可以使用各种各样的图形技术,但并非所有图形技术都与打印兼容(从某种意义上说,它可能看起来很糟糕,难以阅读,而且在墨盒上也可能更重)。大多数打印网页的人感兴趣的是文本及其可读性,而不是花哨的图形。

因此,当尝试直接从您在问题中放置的 SO 片段打印 (Ctrl + P) 简历时,默认情况下,Chrome 会忽略背景图形。在我打开高级设置并选中“背景图形”后,它看起来就像你想要的那样:

enter image description here

我不知道如何在您尝试使用的任何库中启用背景图形,但我可以向您保证大多数(如果不是全部)都有默认关闭的设置。

您需要做的就是在图书馆的文档中找到设置并将其打开。

关于javascript - 将 CSS 样式的 HTML 导出为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48060843/

63 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com