我们目前正在使用Alpaca Forms来生成表单,我们使用这些表单来为我们的应用程序编辑存储在json中的数据。我们现在正在寻找一种在服务器端使用json-schema和json生成PDF文档的方法。
理想情况下,这应该是使用C#,但坦率地说,我们真的可以使用任何语言,只要我们能把它放在web服务后面。
基本上,它将是Alpaca,但输出将是PDF报告,其中可能包含封面和其他文档友好功能。它还将使用json-schema中的"title“和"description”字段。
除了尝试推出我们自己的想法之外,还有其他想法吗?我不喜欢PDF库,因为大多数似乎都不是面向文档的。
发布于 2018-04-13 10:32:48
wkhtmltopdf是我个人最喜欢的方式。您应该能够将JSON模式转换为HTML,然后通过它呈现它。
发布于 2018-04-13 10:43:23
如果你正在使用Node:你可以使用Chromium的(开源Chrome浏览器) Puppeteer来启动一个无头浏览器,服务器端,它可以生成一个PDF。
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch({headless: true});
const page = await browser.newPage();
page.setContent('<h1>My PDF!</h1>');
const myPdf = page.pdf();从木偶生成时,请参阅https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagepdfoptions以了解更多PDF选项
我还没有测试过上面的代码,但这是我用来生成PDF的基础代码
将需要npm i puppeteer :)
发布于 2018-04-23 11:06:26
这可能是困难的(不可能?)将Alpaca Forms JSON自动转换为按您希望的方式布局页面的内容。例如,Alpaca JSON是否提供了足够的信息来确定页面大小、方向、页眉、页脚、编号位置和样式等?
Docmosis可能对你有用(请注意我为Docmosis工作)。您可以将PDF布局在字处理器文档中,然后调用Docmosis将其与JSON数据合并以创建PDF。模板中的字段驱动数据提取,因此您可以将<>放入模板中,标题将从JSON中提取出来。在Alpaca的例子中,标题看起来可能是在JSON中的"schema“下键入的,所以您可以在Docmosis模板中使用<>。页面布局和样式来自模板。将其作为候选解决方案进行测试的最快方法是创建一个云帐户,上传一个模板,并使用JSON调用REST API来创建文档。如果这能满足您的需求,您可以选择云或内部部署。
我希望这能有所帮助。
https://stackoverflow.com/questions/49808434
复制相似问题