// generatePDF.js
import jsPDF from 'jspdf';
import {uniicons} from '@/static/uniicon'

export function generatePDF(jsonData) {
    const doc = new jsPDF();
    console.log("121212----------------------------")

    doc.addFileToVFS('uniicons.ttf', uniicons);
    doc.addFont('uniicons.ttf', 'uniicons', 'normal');
    doc.setFont('uniicons');
    // 设置文档标题
    doc.setFontSize(16);
    doc.text('test', 105, 20, null, null, 'center');

    // 遍历JSON数据中的section数组，添加各个段落
    jsonData.sections.forEach((section, index) => {
        const yPosition = 30 + (10 * index);
        doc.setFontSize(12);
        doc.text(section.title, 10, yPosition);
        doc.setFontSize(10);
        section.content.forEach((content, contentIndex) => {
            doc.text(content, 10, yPosition + (5 * (contentIndex + 1)));
        });
    });

    // 根据平台的不同，选择保存或输出PDF文件的方法
    if (typeof plus === "object") {
        // 在HTML5+引擎中
        const buffer = doc.output('arraybuffer');
        plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {
            fs.root.getFile('example.pdf', { create: true }, function(entry) {
                entry.createWriter(function(writer) {
                    writer.onwrite = function() {
                        console.log('PDF文件写入成功！');
                        // 写入成功后的操作，如打开文件或分享文件
                    };
                    writer.write(new Blob([buffer], { type: 'application/pdf' }));
                });
            });
        }, function(e) {
            console.log('Request file system failed: ' + e.message);
        });
    } else {
        // 在Web平台或其他不支持plus.io的环境中
        doc.save('example.pdf');
    }
}
