如何把多个xml文件打印到pdf?

单个xml打印成pdf方式:使用浏览器打开,然后利用adobe工具打印。

那么:多个xml怎么批量打印生成pdf文件呢?xml文件数目比较多的话,总是使用浏览器打开然后打印,比较费劲。有没有较好的办法呢?

1.使用XMLHttpRequest或Fetch API从服务器获取XML数据。

fetch('http://example.com/data1.xml')
  .then(response => response.text())
  .then(xml1 => {
    fetch('http://example.com/data2.xml')
      .then(response => response.text())
      .then(xml2 => {
        // 继续处理XML数据
      });
  });

2.使用XMLParser将XML数据解析为DOM对象。可以使用内置的DOMParser类或第三方库如xml-dom等解析XML数据。


const parser = new DOMParser();
const xmlDoc1 = parser.parseFromString(xml1, 'text/xml');
const xmlDoc2 = parser.parseFromString(xml2, 'text/xml');

3.使用JavaScript或第三方库如xslx等,在客户端将DOM对象转换为HTML。


const xslt = new XSLTProcessor();
xslt.importStylesheet(xslDoc);
const html1 = new XMLSerializer().serializeToString(xslt.transformToFragment(xmlDoc1, document));
const html2 = new XMLSerializer().serializeToString(xslt.transformToFragment(xmlDoc2, document));

4.使用jsPDF等PDF库将HTML转换为PDF。


const doc = new jsPDF();
doc.text(20, 20, 'PDF Document');
doc.addHTML(html1, () => {
  doc.addPage();
  doc.text(20, 20, 'PDF Document 2');
  doc.addHTML(html2, () => {
    doc.save('output.pdf');
  });
});