有一個ActiveX組件或另一種解決方案(商用或免費的),我們可以使用或與我們的應用程序集成,以實現這一目標?
最好的方法是使用Office本身進行轉換。
Office 2007是第一個可以將文檔保存爲PDF的版本。
因此,如果您在2007年以前安裝了一個版本(不是您,但是其他人),則必須安裝PDF打印機(如PDF-creator或whatnot)。
然後,您可以使用OLE自動化指示Word(僅適用於Office 2007和以上)
procedure ConvertToPDF(Filename: string);
const
pdf = '.pdf';
var
NewFilename: string;
Extension: string;
WinWord, Document: OleVariant;
e: OleVariant;
begin
e:= EmptyParam;
Extension:= ExtractFileExt(Filename);
NewFilename:= StringReplace(Filename, Extension, pdf, [rfReplaceAll, rfIgnoreCase]);
WinWord := CreateOleObject('Word.Application');
Document := WinWord.Documents.Open(Filename);
Document.SaveAs(NewFilename, wdFormatPDF, e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e);
....
雙方的.docx和.pdf格式完全由微軟和Adobe文件尊敬。 .doc標準也記錄在案,當然我幾年前看到的文檔有數百頁。所以你最好使用已經寫好的組件。 – 2012-02-22 17:00:56
沒有第三方組件?精細。使用OLE自動化控制Microsoft Word,這是一個可以打開Word文檔的版本,並保存爲PDF,例如Office 2010.您必須安裝Office 2010才能通過OLE自動化控制它。 – 2012-02-22 20:58:19
您已經要求提供一個ActiveX控件,它很可能是由第三方提供的,但後來指定非第三方是首選?哦,等等 - 並提到「商業或免費」,這也暗示第三方。我覺得我很困惑... – 2012-02-23 03:16:11