防止双击时打开C#System.Windows.Forms.Clipboard对象

时间:2018-02-20 14:10:11

标签: c# pdf ms-word pdf-generation pdfsharp

我使用PdfSharp创建PdfDocument对象:

private readonly PdfDocument _pdf = new PdfDocument();

除了实际添加文本,设置字体样式等的其他方法之外,我将pdf文件写入磁盘上的临时位置:

 var tempPdf = string.Concat(Path.GetTempPath(), Guid.NewGuid().ToString(), ".pdf");
_pdf.Save(tempPdf);

然后我在System.Windows.Clipboard类中使用它将内容复制到剪贴板:

Clipboard.SetFileDropList(new StringCollection {tempPdf});

例如,当用户将剪贴板内容粘贴到Word文档中时,pdf内容会根据需要显示在文档中。

我遇到的问题是,当用户双击嵌入的PDF时,它会在Adobe Reader等查看器中启动PDF,这也是预期的。我遇到的(意料之外的)问题是,我需要阻止此弹出窗口的发生,因为这些内容将被插入到法律文件中。

是否可以建议任何方法或策略来帮助我实现这样的目标?总结一下 - 允许他们将存储在剪贴板中的[pdf]内容粘贴到Word文档中,但双击时不会打开。

1 个答案:

答案 0 :(得分:0)

答案在我的问题中;)

感谢Nyerguds帮助我摆脱茧 - 我注意使用PDF文件复制到剪贴板。

解决方案是用System.Drawing.Graphics / System.Drawing.Bitmap替换PdfSharp用于pdf生成的用法,以创建我们想要复制的jpg图像。

一旦将剪贴板内容粘贴到Word文档中,我们就不再有双击图像可打开的问题了。

相关问题