我正在使用 print js 库在我的应用程序中导出表。导出每个页面时我需要放一个标题。现在当我使用 json 类型如下
let someJSONdata = [{
name: 'name',
email: "fda@daa.com",
phone: "46228156"
}];
let url = 'urlstring';
let rawHTML = `
<div id="header">
<img src="${url}" alt="">
<div class="parraf">
<h3 style="margin:0px"> title </h3>
<h5 style="margin:0px"> subtitle </h5>
<h6 style="margin:0px"> description </h6>
</div>
</div> <br>`;
printJS({
printable: someJSONdata,
type: 'json',
properties: ['name', 'email', 'phone'],
header: rawHTML,
style: '#header { display: flex; } #header img { max-width: 120px;} .parraf { width: 100%; padding: 0px; text-align: center; max-height: 80px }'
});
** 这很好用。问题是,对于我的情况,我直接导出到 html,所以代码看起来像这样:**
let url = 'pathhere';
let rawHTML = `
<div id="div_toexport_from_html">
<img src="${url}" alt="">
<div class="textos">
<h3 style="margin:0px"> INSTITUTO TECNOLOGICO DE SONORA </h3>
<h5 style="margin:0px"> ADMINISTRACION DE PERSONAL </h5>
<h6 style="margin:0px"> Reporte de permisos </h6>
</div>
</div> <br>`;
printJS({
printable: 'div_toexport_from_html',
type: 'html',
header: rawHTML,
style: '#div_toexport_from_html { display: flex; } #div_toexport_from_html img { max-width: 120px;} .textos { width: 100%; padding: 0px; text-align: center; max-height: 80px; color: #0b6db5; } ',
targetStyles: ['*'],
maxWidth: setMaxWidth,
ignoreElements: viewtoIgnore
});
不好的是它不能正确地对 html 进行排序,而是将其视为普通的文本字符串。有没有可能或者以什么方式可以这样操作?
总结 在这种情况下的路线我把它作为参考,真正的 url 将被放置在那里。问题是我不知道导出选项中的 printjs 库是否允许以下内容:
var printTypes = ['pdf', 'html', 'image', 'json', 'raw-html'];
使用
type = 'json'
正确的 rander 时,通过 raw-html 字符串传递的标头。但是,当使用
type = 'html'
which is my case 时,它不会正确地对指定的 raw-html 字符串进行排序,因为它会将其视为普通文本。也许图书馆就是这样工作的。谁知道?