0

我需要什么语言或技术才能在线创建文档?我希望能够添加文本和图像并将它们移动到位置、调整大小等,类似于this

然后完成后,从它们创建一个 PDF。

抱歉,如果这有点模糊,我只需要知道从哪里开始研究。

4

1 回答 1

2

您需要决定您的基本技术:Flash、Silverlight、Canvas、客户端 SVG、服务器端 SVG 或服务器端位图。还有一些商业解决方案适用于 Adob​​e InDesign 文档(可能还有许多其他专有格式),但我希望这些解决方案不会便宜。

Flash/Silverlight 需要插件,并且被一些人认为是一种垂死的技术——尽管我确信这是有争议的。Canvas 是“非常 HTML5”,本质上是在客户端构建/渲染的位图,但如果您最终渲染为 PDF,它可能无法提供您需要的分辨率。同样的限制也会影响构建图像服务器端 - 您可能应该处理矢量元素和位图,而不是随时将所有内容渲染为像素。

这将 SVG 留在我的列表中,无论是在客户端(请参阅 RaphaelJS)还是在服务器(请参阅 Inkscape)。我目前正在做一些关于服务器端 SVG 渲染的工作,而且很有希望;尽管比客户端受到更多的可扩展性问题,但它不会受到浏览器兼容性问题或浏览器渲染限制的影响。

浏览器 SVG 渲染中最大的问题是在路径中/路径上流动的段落文本和文本 - 我不确定这些在现代浏览器中的实现情况如何,或者它们之间有多少协议。考虑到其中一些需要 SVG1.2,而浏览器(afaik)在多年后才刚刚适应 SVG1.1,情况尤其如此。但是,如果您只想制作标准的文本块、位图和矢量元素,那么基于浏览器的 SVG 应该适合您。

您给出的示例使用服务器端技术(SVG,或者可能是商业格式)并在客户端呈现为低分辨率 PNG。

在您的情况下,一旦您考虑了如何“进行编辑”,您将需要考虑如何渲染为 PDF,这将在服务器上完成。您可以使用 FPDF 之类的底层工具,使用 Jasper 之类的报告渲染器,或者使用 GhostScript、Inkscape、Scribus、ps2pdf、svg2pdf 等图形系统。

旁白:我通常不会在没有明显的事先研究的情况下回答问题。但是,既然您已经表明您确实会执行此操作,我很乐意帮助您开始。

于 2012-05-02T21:55:52.627 回答