gpt4 book ai didi

java - DOCX 数据的剪贴板格式

转载 作者:行者123 更新时间:2023-11-30 04:59:40 30 4
gpt4 key购买 nike

我的 Java 应用程序使用 DocX4J 生成 DOCX 格式的文档。我需要将其发送到剪贴板才能粘贴到 Word 中。我知道 Word 将使用 HTML,但我不想将 DOCX 转换为 HTML(我不确定 DocX4J 是否支持它,并且我不想丢失任何格式)。我可以使用什么剪贴板格式(Java 术语 DataFlavor)将 DOCX 数据发送到剪贴板以便 Word 能够理解它?

我正在使用 OpenOffice 文档做类似的事情,为此我使用

DataFlavor odtFlavor = new DataFlavor("application/x-openoffice-embed-source-xml;"+
"representationclass=java.io.InputStream");

我应该如何表示 DOCX 文档本身?对于 OpenOffice ODT,我传递从 ODT 文件创建的 InputStream。

我相信 David Thielen 在这里提出了类似的问题:What are the clipboard formats for Microsoft Office where you can drop a chart?但没有答案。

最佳答案

最坏的情况,docx4j 可以导出为 HTML,所以你可以这样做。

或者您可以使用 RTF。 docx4j 使用 FOP 创建 PDF,因此您可以使用XSL FO 输出创建 RTF(FOP 可以做到这一点 - 您的里程可能有所不同)。

不确定其中哪一个会给您带来更好的质量。可能是HTML(但是图像会发生什么情况?)。

或者您可以制作一个基本的 docx 到 RTF 转换器。

可能有一种方法可以使用 docx 格式。

如果您从 Word 复制,并在 ClipSpy 中查看它(二进制文件可在从 CodeProject 下载源代码),您会看到“Embed Source”是将数据作为 OLE 中的 docx。

how to reload saved "Embed Source" clipboard data?说你可以通过传递来编写你自己的“嵌入源”Clipboard.SetData 一个流对象

似乎取决于您是要复制/粘贴还是拖/放。进一步查看您的链接 What are the clipboard formats for Microsoft Office where you can drop a chart?http://social.msdn.microsoft.com/Forums/en/worddev/thread/84263fb9-61c2-424a-a294-a12f69fd6b1b

关于java - DOCX 数据的剪贴板格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7281917/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com