我正在使用Qt编写程序。我希望它输出到.doc以保留格式,但Qt支持的所有内容都是纯文本,ODF和HTML格式。 ODF和HTML将保留格式,但我必须将其复制并粘贴到.doc文件。
我希望能够保存.doc文件,而不必担心这样做。我已多次使用Google搜索,但我还没有找到解决方案。
答案 0 :(得分:1)
创建有效.doc文件的唯一方法是使用Microsoft Office。它可以通过OLE自动化程序完成(更多关于这个问题 - Why are the Microsoft Office file formats so complicated? (And some workarounds) )。
Qt提供了用于处理COM对象的ActiveQt框架。因此,您可以使用其COM接口加载Word并将.html转换为.doc。当然,必须安装MS Office。
答案 1 :(得分:0)
当您说“.doc”格式时,我将假设您的意思是Microsoft Word使用的“Word 97-2003文档”格式。 Microsoft Office可以很好地打开.html文件,因此您可以走这条路。如果在您运行该程序的某台计算机上安装了Word,则可以将数据复制到剪贴板并使用自动化将Word粘贴并以.doc格式保存。
您具体使用哪种格式?
答案 2 :(得分:0)
正如您所说,QTextDocumentWriter
仅支持纯文本,ODF和HTML格式。
如果您只需要在Windows上阅读您的文档,则可以生成PDF而不是尝试生成.doc:
QPrinter printer;
QTextDocument document;
//TODO: Put stuff to print in your 'document'
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("/foobar/nonwritable.pdf");
document.print( printer );
另一种可能的解决方案,如果您绝对要在Word中修改文档,请尝试ODF add-on for Word 2003打开您的ODF文件。
答案 3 :(得分:0)
还有另外一种替代方案......实际上你可以称之为黑客,但这是一种简单的方式,因为我自己找到它。
瞧;你有你的.doc文件。