小编Fro*_*per的帖子

来自HTML图像的jsPDF导致pdf为空

我正试图用Tinymce内容生成一个pdf,我用AngularJS访问它.为此,我使用jspdf中的from_html插件.

首先是相关的代码部分.

相关函数和Index.ejs jspdf包括

//relevant function
var specialElementHandlers = {
  '#bypassme': function(element, renderer) {
    return true;
   }
};

var margin = {
  top: 0,
  left: 0,
  right: 0,
  bottom: 0
};

var tinymceToJSPDFHTML = document.createElement("body");
tinymceToJSPDFHTML.innerHTML = $scope.selectedItem.content;
      
var doc = new jsPDF();
doc.fromHTML(tinymceToJSPDFHTML, 0, 0, {
  'width': 100, // max width of content on PDF
  'elementHandlers': specialElementHandlers
}, function(a) { console.log(a); }, margin);

doc.save('project.pdf');
Run Code Online (Sandbox Code Playgroud)
<script src="/libs/jsPDF-1.2.61/dist/jspdf.debug.js"></script>
<script src="/libs/jsPDF-1.2.61/plugins/from_html.js"></script>
Run Code Online (Sandbox Code Playgroud)

我想从html解析为pdf的代码看起来有点像这样,这只是一个例子.

<strong>
        <img data-mce-src="file/3605842ba1b6e8ac5417622bf1c43b5b" src="file/3605842ba1b6e8ac5417622bf1c43b5b"></img>

        aaaaa

    </strong>

</p>
<p data-mce-style="text-align: center;" …
Run Code Online (Sandbox Code Playgroud)

html javascript pdf angularjs jspdf

11
推荐指数
1
解决办法
2万
查看次数

为什么在Dom对象中为自己分配变量会产生影响

我有一个HTML字符串,在我的例子中名为tinymceToHTML,我遇到的问题是,当我下载这个html字符串时,图像源或hrefs设置错误.

在原来的字符串:"ID /文件/",如果我把它转换成一个DOM对象和输出它看起来像源我的图像源看起来像" HTTP://本地主机:3000 /文件:ID ",这是需要的输出,因为那时外部文件可以加载这个文件.所以我提出了这个解决方案.

        var div = document.createElement('div');
        div.innerHTML = tinymceToHTML;
        var images = div.getElementsByTagName('img');
        for(var i = 0; i < images.length; i++) {
          images[i].src = images[i].src;
        }
        var a = div.getElementsByTagName('a');
        for(var i = 0; i < a.length; i++) {
          a[i].href = a[i].href;
        }
        tinymceToHTML = "<html><head></head><body>" + div.innerHTML +
                        "</body></html>";
Run Code Online (Sandbox Code Playgroud)

我的问题是,我不知道为什么将变量赋给自身在这种情况下有所不同:images [i] .src = images [i] .src或a [i] .href = a [i] .href.

如果我让程序向我显示带有警报框的输出,它会告诉我我想要的URL,但如果没有这个分配,程序就不会做它应该做的事情.

我希望任何人都可以向我解释这种效果,以便更改代码,以便更清楚地说明这一行是必需的.

我还创建了一个小提琴示例,可以更容易地显示我的意思,注释掉分配的行,以查看其他结果

https://jsfiddle.net/1vabgubh/5/

html javascript variable-assignment

5
推荐指数
1
解决办法
112
查看次数

标签 统计

html ×2

javascript ×2

angularjs ×1

jspdf ×1

pdf ×1

variable-assignment ×1