- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们应用程序的“文档”是单个二进制文件。
我们的客户问我们是否可以将类似 MS Office 的文档属性添加到我们的文档文件中,以便用户更容易管理它们。我所说的更易于管理是指 Windows 资源管理器能够在工具提示中显示常用文档属性。
我的研究似乎表明我们应该考虑将 OLE 结构化存储作为我们数据文件的基础。我看到这种技术也被描述为 MS 结构化存储、OLE 2 复合文档格式和 Windows 文件元数据。
我对使用 OLE 结构化存储的担忧是,Office 2007 或 2010 似乎不再使用此文件格式,并且 OLE 结构化存储需要注册 DSOFILE.DLL ActiveX 组件,我们的许多客户将无法注册使用,因为他们在锁定的工作站上运行我们的软件,用户没有安装软件的管理员权限。 (我们的应用软件是纯XCOPY部署)。
希望听到关于我们的选择的想法。
谢谢,马尔科姆
最佳答案
我很确定您的最佳答案是使用 OLE 复合文档。
Microsoft 可能已经停止使用它,但那是因为他们已经转向 XML 文件格式。除非您愿意将当前的文件格式转换为 XML,否则我认为您不会对标签的新标准感兴趣。
您可以让您的应用程序保存两个文件,一个仅用于标记的 XML 文件和一个二进制数据文件,但这只会给您的用户带来痛苦。 OLE 复合文档格式的全部要点是允许多个"file"在一个文件中绑定(bind)在一起。
此外,如果现代 Windows 不支持内置的 OLE 复合文档,我会感到非常惊讶。我敢肯定,早在十多年前的 Microsoft Word 6.0 中,文档就保存在这个 OLE 中复合文档格式。为什么 Windows XP 或更新版本需要额外的 .DLL 文件才能解析出标签?
使用 OLE 复合文档格式的最好的事情是用户标签将与文件一起使用,无论是什么:如果用户将文件写入文件服务器,如果用户将文件放在电子邮件中,如果用户将文件刻录到 CD,无论如何。 (我写的第一个答案很糟糕,我删除了它;即使它起作用了,它也会将用户标签放在文件之外,我越想越不高兴。)
因此,我建议您尝试创建一个 OLE 复合文档,然后在标准安装的 Windows XP 中的 Windows 资源管理器中查看该文件。看看您是否可以在不需要下载和安装 ActiveX .DLL 的情况下看到标签。我很确定它会起作用。 (但我真的不再做 Windows 了,所以我不能方便地为你测试这个。)
编辑:好的,我刚刚做了一个测试。我在工作,这里有一台 Windows 计算机。我用Word 2007做了一个文档,我把文档保存为Word 97格式。我查看了 Windows 资源管理器中的文档属性;作者姓名在标签中可见。我在“评论”中添加了文本,然后在 Word 2007 中打开文件。然后我就可以查看评论了(单击左上角的“office”图标圆圈,选择“准备”,选择“属性”)。
所以,我的理论有一些证据支持它:我没有安装任何特殊软件,我的 Windows 资源管理器只使用带有标签的 OLE 复合文档格式 Word 文件。 (可能是 Microsoft Office 安装了一些特殊的 .DLL 以使用 Windows Explorer 的标签;我确实在那台计算机上安装了 Microsoft Office 2007。但是您的客户可能也有 Microsoft Office,所以即使是这种情况,我仍然认为这是最好的解决方案。)
建议你谷歌搜索“OLE复合文档格式”,看看这个格式怎么写。我在这里找到了一个如何阅读标签的例子:http://support.microsoft.com/kb/186898
关于python - 创建类似 MS Office 文档的文件格式以公开文档属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1996162/
例如 Form1 frm1 = new Form1(); TextBox tb = new TextBox(); frm1.Controls.Add(tb); 现在我不能说 f
我有一个日期过滤器,我已经在我的 View 中公开了它。我想让界面更加用户友好并加强它的外观。我不想选择日期,而是从以下选项中进行选择。 最后一天 上周 去年 全部 然后,这将过滤日期字段。这可能吗?
如何向用户公开我的用户控件组件之一的 ActualWidth 属性? 我找到了很多关于如何通过创建新的依赖属性和绑定(bind)来公开普通属性的示例,但没有关于如何公开像 ActualWidth 这样
Github 最近推出了项目功能。 当项目处于 repo 级别时,如果 repo 本身是公开的,那么任何人都可以访问这些项目。 但是,组织级别的项目仅对组织成员可见。 例如,https://githu
我想要从我的网络服务器访问 JavaScript 文件。 以便任何人都可以在其网站中访问和引用它。 e-g 假设 abcxyzserver.com 是我的网络服务器。 www.abcxyzserv
尝试使用curl命令上传到blob存储 curl --upload-file --url "https://.blob.core.windows.net//" 但不断收到“HTTP/1.1 404
我正在尝试获取 Canvas 的上下文,显然我收到错误Uncaught TypeError: Cannot call method 'getContext' of null 显然我在它初始化之前就得到
我正在对设置 HA 集群的解决方案进行故障排除。虽然我知道应用程序执行故障转移和故障回复所需的端口,但不知何故 dockerized 解决方案不起作用。我怀疑有一些我还不知道的端口。 目前,我的 EX
我试图在能够使用 Helm 运行的k8集群中设置Prometheus。当我使用外部IP将Prometheus-Server作为LoadBalancer服务公开时,访问仪表板。 当我尝试将此服务配置为C
我知道关于这个主题也有类似的问题,但我不完全确定他们正在解决同样的问题。所以要明确的是... 我有一个现有的类库,其中包含用于类型、业务逻辑和数据访问的命名空间。逻辑和数据访问命名空间中的类是静态的,
尝试使用curl命令上传到blob存储 curl --upload-file --url "https://.blob.core.windows.net//" 但不断收到“HTTP/1.1 404
1.)执行以下命令生成一个随机数,用于后面的步骤 NUMBER=$[ ( $RANDOM % 1000 ) + 1 ] echo $NUMBER 注意:将句子 your random number 替
类似这样的问题有很多,但仍然无法得到我真正想要的,而且它们都有一些与我不同的地方,那就是:我有一个 UserControl: 在名为UCProject 的类库项目中单独构建; UCProject 项目
我有一个这样的基类: public class BaseModalCommand { protected object m_commandArgument; protected i
给定以下 JQuery 插件。是否可以将变量“元素”公开给插件外部的 javascript?如果是这样,这是怎么做到的?对于此插件外部的 javascript,访问“元素”的语法是什么? (funct
我有两个使用 jhipster 创建的微服务。 (ms1 和 ms2) 我使用 AuthorizedFeignClient 在两个微服务之间进行通信。 ms1 有一些 DTO 类,用作 REST AP
我正在使用错误跟踪软件来报告网络浏览器中发生的任何错误,但我的生产站点上的代码已缩小。因此,调试几乎是不可能的(变量名被更改等)。 我想将完整的源映射文件投入生产,以便我可以调试这些错误,但在这样做时
我在 Kotlin 公开库中可以找到的所有 Material 都假定该表具有一个主标识列,因此在大多数示例中显示的实体继承了 IntEntity 抽象类。例如: class UserLocation(
我有一个类 (Capsule),它有很多 protected 方法 (30+)。这个想法是允许开发人员扩展此类并在类 (ImADev) 中使用 protected 方法,但将其留给开发人员将它们公开为
Tomcat 日志位置是: /apache/apache-tomcat-8.0.15/logs 允许通过浏览器访问这些日志的标准方法是什么? 为此启用 Tomcat 目录列表标准吗? 最佳答案 我曾在
我是一名优秀的程序员,十分优秀!