首页 > 解决方案 > 如何在 back4app 解析服务器上处理 pdf 文件

问题描述

我一直在探索 back4app 解析服务器。我正在寻找 pdf 文件的文档。我正在尝试从其云功能在 back4app 解析服务器上生成一些 pdf 文件。我没有看到任何文档。有人会指导我找到它吗,我们将不胜感激。
编辑:
那里的 pdf 创建者库要求提供输出路径,但在 back4app 中我们无法提前访问路径。我们创建传递数据的新文件,然后将其保存到对象。我们如何实现订单。

标签: parse-platformparse-serverback4app

解决方案


我有些如何管理完成它,谢谢@Davi macedo。但是有一些问题,我在本地(根)云代码创建了pdf,每次删除它都是令人羡慕的。这可能是更多请求的问题。有人可以改进一点。会很好。这是我的代码。
我已经使用 pdf-creator-node 来创建 pdf。

var pdf = require("pdf-creator-node");
var fs = require("fs")
var path = require('path')
const pdf2base64 = require('pdf-to-base64');
Parse.Cloud.define("pdf", async (req) => {
//creating pdf
// var html = fs.readFileSync("template.html", "utf8");
var html = fs.readFileSync(path.resolve(__dirname, 'template.html'), {
encoding: 'utf-8' });
var options = {
    format: "A3",
    orientation: "portrait",
    border: "10mm",
    header: {
        height: "45mm",
        contents: '<div style="text-align: center;">Author: Shyam Hajare</div>'
    },
    footer: {
        height: "28mm",
        contents: {
            first: 'Cover page',
            2: 'Second page', // Any page number is working. 1-based index
            default: '<span style="color: #444;">{{page}}</span>/<span>{{pages}}</span>', // fallback value
            last: 'Last Page'
        }
    }
};
var users = [
    {
        name: "Shyam",
        age: "26",
    },
    {
        name: "Navjot",
        age: "26",
    },
    {
        name: "Vitthal",
        age: "26",
    },
];
var document = {
    html: html,
    data: {
        users: users,
    },
    path: path.resolve(__dirname, './pdfs', 'my_file.pdf'),//using path is necessary
    type: "",
};
return pdf
    .create(document, options)
    .then((res) => {
       
        return pdf2base64(path.resolve(__dirname, "/usr/src/app/data/cloud      /pdfs/my_file.pdf")) //this path /usr/src/app/data/cloud/pdfs still mystery to me.
            .then(
                (response) => {
                   // console.log(response); //cGF0aC90by9maWxlLmpwZw==
                    const saveFiles = async () => {
                       //creating file
                        const parseFile = new Parse.File('pdfFile.pdf',{base64:response});
                       // console.log(parseFile)
                       //saving file
                        const responseFile = await parseFile.save();

                        const Document = Parse.Object.extend('Document');
                        const document = new Document();
                        //saving it to object.
                        document.set('document', responseFile);
                        await document.save();
                    }
                    saveFiles();
                }
            )
            .catch(
                (error) => {
                    console.log(error); //Exepection error....
                }
            )
        console.log(res);
    })
    .catch((error) => {
        console.error(error);
    });

});

推荐阅读