文件转换器一般如何工作,例如word到pdf,XML到json,word到txt等

问题描述

我使用了多种类型的文件转换器,例如word到pdf,XML到json,word到txt等。 他们在后端如何工作?是否每个人都遵循一些特定的准则?在实现方式上是否有一些相似之处。

我尝试搜索它,但是大多数文章将我带到可以转换文档的Web应用程序,但是没有一篇可以清楚地说明它的完成方式。

解决方法

所有这些都通过将第一个文档解析为数据结构来工作。然后使用递归从该数据结构生成其他格式的文档。

解析本身是一个巨大的话题,人们可以选择计算机科学课程。但长话短说,它是通过将文档分解为 tokens ,然后使用一组标准方法之一将这些tokens放入解析树中而进行的。它们具有各种奇特的名称,例如Recursive DescentLALR(1)。那就是您想学习的大多数理论所在的地方。

例如,如果要编写JSON到XML转换器,则首先需要解析该JSON。 A JSON Parser显示了如何使用递归下降从头开始编写。编写完成后,您只需要编写一个递归函数即可,该函数采用每种数据类型,并对其进行适当的处​​理以生成所需格式的文本。

顺便说一句,您也可以编写一个“文档转换器”,将文档格式转换为相同的文档格式。为什么有人要这样做?两个最常见的用例是对prettifyminify进行编码。尽管实际上只处理一种格式,但是其处理原理完全相同。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...