【发布时间】:2011-01-19 13:26:34
【问题描述】:
我发现 Adobe Reader 和简单文本的拖放功能存在问题。
当我简单地选择一些文本并将其放入我的一些 .NET 应用程序(或任何文本编辑器,如 notepad++ 或 VisualStudio)中时,文本会附加随机字符。
我很努力地观察了这个问题,就我的观察而言,我可以说以下几点:
- 选择相同的文本进行拖动不会发生两次。
- 附加的文字总是只有几个字符(至少十个)
- 有时,附加的字符似乎是较早删除和删除的文本片段
- 有时附加的字符不是字母数字字符,因此难以识别
- 所选文本可以在任何地方(不仅仅是整个段落)
我将删除的文本与我的应用程序中的其他文本进行比较,这显然失败了,因为有些字符我没有拖动。
在 .NET 方面,我使用标准 IDataObject 接口并尝试了多种格式,但行为始终相同。它可以被复制,但它是不可预测的,因为它是随机发生的。
所以我的问题是: 这是 Adobe Reader 的缓冲区填充问题(顺便说一句,它发生在版本 8,9 中,X 关闭了安全模式)? 这是否取决于哪个第三方程序创建了 pdf? 有人经历过同样的行为吗(因为我对此一无所知)?
我必须提前说没有其他 pdf-Reader 是一个选项,因为它是这里的商业政策:)。
非常感谢能回答这个问题的人。
【问题讨论】:
-
也许您的 PDF 文件只是被编码了?
-
感谢您的回复,但它不是一个编码/解码的东西,因为整个文本就像它已被拖动,除了附加的字符外,我猜每次拖动时这都是可以预测的。
-
这是 95% 的概率是 Adobe Reader 中的错误。没有像样的方法可以用 IDataObject 来解决这个问题。当企业将自己锁定在特定产品的特定版本中时,他们最好与供应商签订支持合同。
-
那太糟糕了。我想我可以在不去业务关系或支持人员的情况下解决这个问题。
-
经过日复一日的研究,我得出以下结论:
标签: c# .net drag-and-drop adobe-reader acrobat