如何使用Matlab将.doc文件转换为PDF?

时间:2013-04-22 04:55:59

标签: matlab

我正在Matlab中编写代码,该代码执行一些计算,并以.doc格式写出包含表格和结果的报告。我想将生成的.doc报告保存为PDF或不可编辑的文字格式,以便报告未经编辑。我正在使用WritetoWordFromMatlab()函数来写出文件。

我正在寻找使用actxserver的命令,它会将我的文件保存为PDF。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

在Office 2007或2010中,您可以使用Document.ExportAsFixedFormat方法,将wdExportFormatPDF作为ExportFormat参数传递。在Matlab中使用actxserver启动Word,让它打开你的.doc文件,并用ExportAsFixedFormat写出.pdf。或者使用writetowordfrommatlab来直接将其保存为PDF格式。

这是ExportAsFixedFormat上的doco:http://msdn.microsoft.com/en-us/library/bb256835%28v=office.12%29.aspx

以下是一个示例:

filename = fullfile(pwd, 'myfile.docx');
pdf_filename = fullfile(pwd, 'myfile.pdf');

% Create COM server
actx_word = actxserver('Word.Application');
actx_word.Visible = true;
% Open existing document
word_handle = invoke(actx_word.Documents,'Open',filename);

% Save as PDF
invoke(word_handle,'ExportAsFixedFormat',pdf_filename,'wdExportFormatPDF');            

% Close the window
invoke(word_handle,'Close');            
% Quit Word
invoke(actx_word,'Quit');            
% Close Word and terminate ActiveX
delete(actx_word);