parse-platform - 如何在 back4app 解析服务器上处理 pdf 文件
问题描述
我一直在探索 back4app 解析服务器。我正在寻找 pdf 文件的文档。我正在尝试从其云功能在 back4app 解析服务器上生成一些 pdf 文件。我没有看到任何文档。有人会指导我找到它吗,我们将不胜感激。
编辑:
那里的 pdf 创建者库要求提供输出路径,但在 back4app 中我们无法提前访问路径。我们创建传递数据的新文件,然后将其保存到对象。我们如何实现订单。
解决方案
我有些如何管理完成它,谢谢@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);
});
});
推荐阅读
- c# - Asp.Net Tag Helper type="date" 允许年份超过 4 位
- c# - 在其他项目 dll 中读取 Service Fabric 项目配置
- django - 如何验证登录
- javascript - React Error : 已声明但它的值从未被读取。[6133]
- highcharts - 如何在高角图表包装器中使用添加系列和更新方法?
- python - 我如何访问kivy中的全局变量
- chart.js - Chartjs条形图试图从数据集中获取标签
- javascript - 在Javascript引擎(v8)中,优化阶段的“隐式调用”到底是什么意思?
- jquery - c3条形图标签颜色
- reactjs - React Fusion Charts - 注释标签样式不起作用