XML to PDF Converter XML to PDF Converter Paste or upload XML data to convert it into a formatted PDF Paste XML Data )(<)(\/*)/g; let xmlStr = xml.replace(reg, '$1\r\n$2$3'); let pad = 0; return xmlStr.split('\r\n').map(line => { let indent = 0; if (line.match(/.+<\/\w[^>]*>$/)) { indent = 0; } else if (line.match(/^<\/\w/)) { if (pad !== 0) pad -= 1; } else if (line.match(/^<\w([^>]*[^/])?>.*$/)) { indent = 1; } else { indent = 0; } const padding = PADDING.repeat(pad); pad += indent; return padding + line; }).join('\n'); } // Convert XML to PDF convertBtn.addEventListener("click", () => { const rawXml = xmlInput.value.trim(); if (!rawXml) { alert("Please paste or upload XML data."); return; } try { const parser = new DOMParser(); const xmlDoc = parser.parseFromString(rawXml, "text/xml"); const parserError = xmlDoc.getElementsByTagName("parsererror"); if (parserError.length) throw new Error("Invalid XML format"); const formattedXml = formatXml(rawXml); const pdf = new jsPDF(); const lines = pdf.splitTextToSize(formattedXml, 180); pdf.text("XML to PDF Output", 14, 20); pdf.setFont("Courier", "normal"); pdf.setFontSize(10); pdf.text(lines, 14, 30); pdf.save("output.pdf"); } catch (err) { alert("Error parsing XML: " + err.message); } });