Javascript:如何从HTML表单或div创建pdf文件

Javascript:如何从HTML表单或div创建pdf文件,javascript,jquery,pdf,pdf-generation,tcpdf,Javascript,Jquery,Pdf,Pdf Generation,Tcpdf,我是Javascript/jQuery新手,正在寻找一种方法,向页面添加一个按钮,允许用户从预定义表单或div创建pdf(例如,通过添加类) 我做了一些研究,但在JS或jQuery中找不到这样做的方法 有没有办法通过Javascript/jQuery在客户端实现这一点,或者有人能告诉我一个支持这一点的免费插件 我找到的唯一一个插件是,但这个插件似乎相当大,我没有找到一种方法可以将它限制在页面上的某个表单或div(而不是打印整个页面) 注意:我不需要介绍图像,只需要简单的HTML表单字段或表格和文

我是Javascript/jQuery新手,正在寻找一种方法,向页面添加一个按钮,允许用户从预定义表单或div创建pdf(例如,通过添加类)

我做了一些研究,但在JS或jQuery中找不到这样做的方法

有没有办法通过Javascript/jQuery在客户端实现这一点,或者有人能告诉我一个支持这一点的免费插件

我找到的唯一一个插件是,但这个插件似乎相当大,我没有找到一种方法可以将它限制在页面上的某个表单或div(而不是打印整个页面)

注意:我不需要介绍图像,只需要简单的HTML表单字段或表格和文本

非常感谢您在此方面的帮助, 迈克

你可以试试

它是免费的,客户端的

您可以从他们的“HTML呈现”示例中看到,您可以从HTML的一部分创建PDF

编辑

可能jsPDF不支持CSS


如果您需要它,您可以尝试作为替代,但它是一个命令行工具,可以捕获网页作为屏幕截图。不确定这是否是您要搜索的内容,如前一个答案所示,我建议使用小巧但功能强大且安全的js库

例如:

 <form method="post" action="#" id="printJS-form">
    ...
 </form>

 <button type="button" onclick="printJS('printJS-form', 'html')">
    Print Form
 </button>

...
打印表单

非常简单

也很好,简单就是

从HTML创建pdf是一个简单而干净的库,您可以决定以后是否打印它

下面是一个基本用法示例

    var docDefinition = {
    content: [
        'First paragraph',
        'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
    ]
};

var pdfDoc = printer.createPdfKitDocument(docDefinition);
pdfDoc.pipe(fs.createWriteStream('pdfs/basics.pdf'));
pdfDoc.end();

非常感谢-我会看一看。我检查了他们的网站并浏览了那里的文档(),但找不到一个将此限制到某个元素的示例。你能为HTML呈现示例提供一个链接吗?更新:我在下面的帖子中找到了答案,但这里的问题是,这也表明你失去了所有自己的CSS样式,这是我需要保留的:-无论如何,谢谢。你可以从他们的“HTML呈现”中看到
doc.fromHTML
将元素的id作为源的示例也感谢这一点。这不是适合我的工具,但我自己找到了答案(见下文)。但是print.js用于打印,而不是生成pdf。您可以使用“另存为pdf”浏览器打印选项