2013-04-22 109 views
0

我在Matlab中編寫代碼,它執行一些計算並寫出帶有.doc格式的表格和結果的報告。我想將生成的.doc報告保存爲PDF或不可編輯的文字格式,以便報告未經編輯。我正在使用WritetoWordFromMatlab()函數寫出文件。如何使用Matlab將.doc文件轉換爲PDF?

我在尋找一個使用actxserver的命令,它將把我的文件保存爲PDF格式。有沒有辦法做到這一點?

+0

什麼是你的代碼和問題 – Kasnady 2013-04-22 05:04:36

+1

這完全是一個編程問題 - 這是關於使用ActiveX API從MATLAB自動化辦公。你可能會發現這是一件令人厭惡的事情,但它是編程,而且這種類型實際上在工業界出現。 – 2013-04-22 05:17:11

+0

這個問題目前正在討論[在元堆棧溢出](http://meta.stackexchange.com/questions/177441/why-was-this-question-about-matlab-closed)。 – Bart 2013-04-22 13:00:42

回答

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);  
+0

謝謝安德魯..這是它..我給了格式的值17,並有我的pdf !!哇!..非常感謝.. .. – Mithun 2013-04-22 06:37:18