我在 Godaddy(Centos 5.5)有一个 Linux 托管帐户,并且正在开发一个应用程序来处理用户的 MS Office 文档。
我找到了可以从命令行读取办公文档的解决方案,例如 antiword、unoconv、catdoc、Apach POI/tika。
问题是我没有 root 权限来安装这些软件包,而且 POI/tike 需要安装 Java,而这里也不是这种情况。我不能使用 yum 或 apt-get 甚至 RPM 或 make。但我可以使用 python easy_install。
我的问题是:
您是否知道任何可以读取 MS Office 文档而无需安装任何其他东西的 Python 或 Perl 库?
您是否知道有哪些无需安装即可用于处理 MS Office 文档的 Linux 软件包?
有没有办法可以在不使用 yum 或 apt-get 或 RPM 或 make 的情况下在本地手动安装软件包?
是否可以在有权限使用的文件夹本地安装 yum 或 apt-get?
答案1
由于您没有 root 权限,因此您无法安装软件包(apt、yum 等都是软件包管理器)。但是,您可以编译和构建自己的二进制文件,这些文件可以存放在您的用户帐户中(可能位于 ~/bin 下)。
具体细节将因包而异,但基本上您需要:
- 下载源代码
- 解压源代码
- 配置包(通常在包源树中为“./configure”)
- 构建包(通常是“make”)
- 安装(通常是“make install”)
根据软件包的不同,您可以在配置期间指定安装位置,或者在“make install”命令行上指定变量。例如,我从以下位置获取了 Linux Antiword 源 tarballhttp://www.winfield.demon.nl/#Programmer,并看了看。
它似乎没有配置步骤,但它有两个不同的安装目标,并且“make install”将执行“本地”安装(即,仅针对执行安装的用户)。这不需要 root 访问权限。
由于不同项目的操作方式不同,这可能会有点麻烦,但最终您将无需 root 权限即可获得所需的一切。
编辑补充:如果您的系统上没有基本的构建工具(make、gcc 等),那么这将是一个大问题。此时,您自己做的唯一方法是尝试从您能控制的另一个系统中提取二进制文件,但这很容易变得非常困难。
相反,那时我会开始问这是否是适合您的托管计划。您需要做一些提供商显然没有提供的事情。如果您无法让他们添加套餐,那么我建议您寻找一家能为您提供更多灵活性的新提供商。
答案2
有一些 Perl 模块可以读取 Excel 文件。看看这些:
- 电子表格::解析Excel读取旧的 .xls 文件
- 电子表格::WriteExcel对于旧的 .xls 文件
- 电子表格::XLSX对于新的 .xlsx 文件
我不知道有任何模块可以在 Linux 上创建 .doc 文件。不过,你可以使用OpenOffice::OOBuilder。当前的 MS Office 会读取这些,但它们并不相同。
要了解如何在没有 root 的情况下安装 Perl 模块,请参阅以下问题: