在线javascript编辑器,如inDesign

时间:2015-06-29 12:31:57

标签: javascript php adobe-indesign sproutcore

对于我们目前正在尝试创建在线WYSIWYG编辑器的项目,该编辑器应具有与Adobe的InDesign相同的基本功能:

  • 添加文本框架并将文本框架链接在一起
  • 母版页(带基线,边距,柱和装订线)
  • 基本格式(字体大小和样式,对齐方式)

我们正在尝试让用户使用其新闻网站上的文章作为来源创建简单文档。通过拖放界面,他们应该能够快速构建一个简单的类似新闻纸的文档。用户的创建应该转换为PDF(通过FPDF库)。因此编辑器应该使用包含宽度,高度等属性的数据属性创建某种类型的html,这样这些数据就可以转换为json对象,在PHP中提取并加载到FDPF中。简单步骤的进展:

  1. Html WYSIWYG使用度量生成预览+ html属性;
  2. 将html属性通过ajax发布到服务器端;
  3. PHP服务器端提取json并将其转换为FPDF对象;
  4. 提供用户PDF文件供下载。
  5. 我已经尝试过看看iCloud的页面,它尽可能地使用SproutCore(或Ember?),但我认为使用该框架会有点过头,可能会赢得&#39 ;甚至还有我正在寻找的基本功能。

    有没有人知道如何开始?使用什么JavaScript框架(我过去使用过Prototype,Mootools和jQuery)以及在哪里寻找可能的示例/类似项目?

2 个答案:

答案 0 :(得分:1)

如果您的目标是InDesign,则可能需要了解IDML (warning, direct link to PDF!。它是InDesign文档的AST的XML描述。

如果您想制作又一个WYSIWYG编辑器,您可能希望阅读现有解决方案的代码并了解它们是如何构建的。首先想到CkEditor和Redactor.js。

当人们谈论" Javascript Framework"这些天(2015年),他们不谈论jQuery,Prototype和MooTools,因为他们通常被视为"库"。 "框架"现在是Angular.js,Ember.js等,他们之间的选择主要是宗教性的,比如Vim和Emacs之间。

以上是个人启动的地方。关于从技术方式开始的地方 - 它已经在很多地方写过了。您提出了构建系统,测试线束,生产/测试环境,有一个部署管道(是的,对于单个UI小部件),然后开始编写测试。

这整个问题更像是新的项目讨论切入点,而不是一个明确答案的问题。

答案 1 :(得分:0)

SproutCore确实是iCloud Pages的基础框架,以及iCloud环境的其余部分。它提供了您所描述内容的一部分,例如富文本编辑器(https://github.com/sproutcore/rich-text-editor)以及内置的拖放功能。

我不认为使用SproutCore会有点过分,除非你只是想构建一个你想要在不同类型的环境/框架中使用的小部件。

SproutCore是一个非常适合这些类型的复杂应用程序的框架,这可能是Apple将其用于iCloud的原因。这种复杂的SproutCore应用程序的另一个例子是Kobo阅读器(http://read.kobobooks.com/)。