当前位置: 首页 > 知识库问答 >
问题:

使用angular2/typescript从html生成PDF文件

杭曦
2023-03-14

我想从HTML模板中提取一部分,并将其转换为PDF文件,以便用户可以选择下载。(例如,单击按钮后)。

我找到了一个名为jsPDF的库,我将如何在Angular2应用程序(RC4)中使用jsPDF?

谢谢你

共有3个答案

仲孙昊焱
2023-03-14

不推荐使用AddHtml方法:

来源:plugins/addhtml.js,第 12 行 已弃用:这正在被支持矢量的 API 所取代。看这里

将HTML元素呈现到画布对象,该对象添加到PDF中

此功能需要 html2canvas 或 rasterizeHTML

俞俊逸
2023-03-14

作为回应

此链接是导入 JSPDF 内容所必需的

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script> // to use jsPDF for registring pdf file

然后在您的组件中。ts

你这样做

declare let jsPDF;

@Component({
    template: `
        <button
          (click)="download()">download
        </button>
        `
})

export class DocSection {


    constructor() {
    }

    public download() {

        var doc = new jsPDF();
        doc.text(20, 20, 'Hello world!');
        doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
        doc.addPage();
        doc.text(20, 20, 'Do you like that?');

        // Save the PDF
        doc.save('Test.pdf');
    }

}
林元明
2023-03-14

如果你想在生产中使用它,你肯定不想依赖索引中引用的互联网链接。html,就像@khalil_diouri提议的那样。

因此,要在 Angular2/Typescript 环境中正确使用它,请先从 npm 安装它。

npm install --save jspdf

如果您使用的是 SystemJS,请将其映射到配置文件中

map: {
    "jspdf": "node_modules/jspdf/dist/jspdf.min.js"
}

安装定义包:(如果没有安装)

npm安装类型--全局

安装定义文件:

< code >键入安装dt~jspdf - global - save

最后,将其导入到您的component.ts文件中

import jsPDF from 'jspdf'
...
    let doc = new jsPDF();
    doc.text(20,20,'Hello world');
    doc.save('Test.pdf');
...
 类似资料:
  • 问题内容: 是否有任何API /解决方案可从XML文件数据和定义生成PDF报告。例如,XML定义/数据可以是: 我觉得将HTML转换为PDF也是一个很好的解决方案。 当前,我们使用iText API编写Java代码。我想外部化代码,以便非技术人员可以编辑和更改。 问题答案: 看看Apache FOP 。使用XSLT样式表将XML(或XHTML)转换为XSL- FO。然后,使用FOP读取XSL-FO

  • 问题内容: 我有以下html代码: 我要做的就是将div中ID为“ pdf”的任何内容打印为pdf。这必须使用JavaScript来完成。然后应使用文件名“foobar.pdf”自动下载“pdf”文档 我一直在使用jspdf来执行此操作,但是它唯一具有的功能是“文本”,它仅接受字符串值。我想将HTML提交给jspdf,而不是文本。 问题答案: jsPDF可以使用插件。 为了使其能够打印HTML,您

  • 问题内容: 我正在尝试使用和从HTML 创建一个(我也曾尝试并且无法使其正常工作)。我尝试在Angular控制器中使用以下代码: 但我收到以下错误: 无法识别的文档结构:{“ _ margin”:null}“。 我的HTML由div中的两个简单表组成。 如果有人知道解决此问题的方法,或者知道从Angular将HTML转换为PDF的另一种方法,请帮助。 非常感谢您的协助! 问题答案: 好的,我知道了

  • 我知道如何生成单个超文本标记语言页面。我想知道如何从多个超文本标记语言页面生成的pdf生成单个pdf页面。 例如,有和另一个文件我可以生成单独的pdf文件和分别来自html。我可以将它们写入文件系统,然后像iTextConcatenate示例中那样连接它们。 我只是想知道我是否可以在不将它们写入文件系统的情况下动态地组合此操作。我无法识别丢失的链接

  • 问题内容: 我正在使用wkhtmltopdf将PDF文件转换为HTML文件;它提供了令人惊讶的良好结果,完全像WebKit那样呈现PDF。 我正在使用GoogleWeb字体使用户可以自定义他们编辑的文档的外观,从而使他们可以在几种字体之间进行选择。它也可以 在浏览器中 完美运行。 问题是,使用wkhtmltopdf将此类HTML文件转换为PDF时,我无法使用Google字体。我读过其他人也有同样的

  • 问题内容: 我试图将XML数据从网页转换为PDF文件,希望能完全在JavaScript中完成。我需要能够绘制文本,图像和简单形状。我希望能够完全在浏览器中做到这一点。 问题答案: 示例创建一个“ Hello World” PDF文件。