可以使用 Qt 输出为 .doc 格式吗?
我正在使用 Qt 编写程序。我希望它输出到 .doc 以保留格式,但 Qt 支持的所有格式都是纯文本、ODF 和 HTML 格式。 ODF 和 HTML 将保留格式,但随后我必须将其复制并粘贴到 .doc 文件中。
我希望能够保存 .doc 文件,而不必担心这样做。我已经用谷歌搜索了很多次,但没有找到解决方案。
I am writing a program using Qt. I want it to output to .doc to preserve formatting, but all that is supported by Qt are plain text, ODF, and HTML formats. ODF and HTML will preserve the formatting, but then I would have to copy and paste this to a .doc file.
I want to be able to save a .doc file and not have to worry about doing this. I have Googled this many times, but I haven't found a solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
创建有效的 .doc 文件的唯一方法是使用 Microsoft Office。它可以通过 OLE 自动化从您的程序中完成(更多关于该问题的信息,请参见此处 - 为什么 Microsoft Office 文件格式如此复杂?(以及一些解决方法))。
Qt 提供了用于处理 COM 对象的 ActiveQt 框架。因此,您可以加载 Word 并使用其 COM 接口将 .html 转换为 .doc。当然,必须安装MS Office。
The only way to create a valid .doc file is to use Microsoft Office. It can be done from your program with OLE Automation (more on that problem here - Why are the Microsoft Office file formats so complicated? (And some workarounds)).
Qt provides the ActiveQt framework for working with COM objects. So you can load Word and convert .html to .doc using its COM interface. Of course, MS Office must be installed.
当您说“.doc”格式时,我假设您指的是 Microsoft Word 使用的“Word 97-2003 文档”格式。 Microsoft Office 可以很好地打开 .html 文件,因此您可以走这条路。如果 Word 安装在运行该程序的计算机上,则可以将数据复制到剪贴板并使用自动化功能让 Word 粘贴数据并将其保存为 .doc 格式。
您具体使用什么格式?
When you say ".doc" format I will assume you mean the "Word 97-2003 Document" format used by Microsoft Word. Microsoft Office can open .html files just fine, so you could go that route. If Word is installed on the some computer that you're running the program on, you could copy the data to the clipboard and use automation to have Word paste it and save it in .doc format.
What formatting are you using specifically?
正如您所说,
QTextDocumentWriter
仅支持纯文本、ODF 和 HTML 格式。如果您只需要在 Windows 上阅读文档,则可以生成 PDF,而不是尝试生成 .doc:
另一种可能的解决方案,如果您必须在 Word 中修改文档,请尝试 Word 2003 的 ODF 插件 用于打开 ODF 文件。
As you stated,
QTextDocumentWriter
support only plain text, ODF and HTML formats.If you need to read only your document on Windows, you can produce a PDF instead of trying to produce a .doc:
Another possible solution, if you have absolutely to modify your document in Word, try an ODF add-on for Word 2003 to open your ODF file.
还有另一种选择......实际上你可以称之为黑客攻击,但这是一种简单的方法,因为我自己找到了它。
某种标记,例如#offaddress#
Voilà;您有 .doc 文件。
There is another alternative to this... Practically you can call it hacking, but it is kind of a simple way as I find it for myself.
some kind of marker, e.g. #offaddress#
Voilà; you have your .doc file.