0

我正在使用 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 字符串进行排序,因为它会将其视为普通文本。也许图书馆就是这样工作的。谁知道?

4

0 回答 0