Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将网页转换为pdf时保留其格式_Html_Pdf_Printing - Fatal编程技术网

Html 将网页转换为pdf时保留其格式

Html 将网页转换为pdf时保留其格式,html,pdf,printing,Html,Pdf,Printing,我目前正在从事一个项目,我必须打印一个网页,就像一个包含学生详细信息的表格。当我尝试使用window.print()打印网页时,PDF中的页面格式会发生变化 如何在PDF中保留网页的原始格式?? 请帮帮我!提前感谢。jsPDF能够使用插件。为了使它能够打印HTML,您必须包含某些插件,因此必须执行以下操作: 转到并下载最新版本。 在项目中包括以下脚本: jspdf.js jspdf.plugin.from_html.js jspdf.plugin.split_text_to_size.js j

我目前正在从事一个项目,我必须打印一个网页,就像一个包含学生详细信息的表格。当我尝试使用
window.print()
打印网页时,PDF中的页面格式会发生变化

如何在PDF中保留网页的原始格式??
请帮帮我!提前感谢。

jsPDF能够使用插件。为了使它能够打印
HTML
,您必须包含某些插件,因此必须执行以下操作:

转到并下载最新版本。 在项目中包括以下脚本:

  • jspdf.js
  • jspdf.plugin.from_html.js
  • jspdf.plugin.split_text_to_size.js
  • jspdf.plugin.standard_font_metrics.js
如果要忽略某些元素,必须用
ID
标记它们,然后可以在
jsPDF
的特殊元素处理程序中忽略这些元素。因此,您的HTML应该如下所示:

<!DOCTYPE html>
<html>
  <body>
    <p id="ignorePDF">don't print this to pdf</p>
    <div>
      <p><font size="3" color="red">print this to pdf</font></p>
    </div>
  </body>
</html>

对我来说,这创建了一个漂亮整洁的PDF,其中只包含了“将此打印为PDF”这一行。

您是否尝试过任何其他将
html
转换为
PDF
var doc = new jsPDF();          
var elementHandler = {
  '#ignorePDF': function (element, renderer) {
    return true;
  }
};
var source = window.document.getElementsByTagName("body")[0];
doc.fromHTML(
    source,
    15,
    15,
    {
      'width': 180,'elementHandlers': elementHandler
    });

doc.output("dataurlnewwindow");