有沒有人已經編寫過使用Word 2007或Word 2010 pdf導出功能將doc或docx轉換爲pdf的代碼?Delphi使用Word ActiveX將文檔轉換爲pdf
5
A
回答
3
我用下面的.vbs腳本來做。如果你需要在Delphi代碼,那麼這將是很容易的轉換:
Const wdDoNotSaveChanges = 0
Const wdRevisionsViewFinal = 0
Const wdFormatPDF = 17
Dim arguments
Set arguments = WScript.Arguments
Function DOC2PDF(sDocFile)
Dim fso ' As FileSystemObject
Dim wdo ' As Word.Application
Dim wdoc ' As Word.Document
Dim wdocs ' As Word.Documents
Set fso = CreateObject("Scripting.FileSystemObject")
sDocFile = fso.GetAbsolutePathName(sDocFile)
sPdfFile = fso.GetParentFolderName(sDocFile) + "\" + fso.GetBaseName(sDocFile) + ".pdf"
Set wdo = CreateObject("Word.Application")
Set wdocs = wdo.Documents
WScript.Echo "Opening: " + sDocFile
Set wdoc = wdocs.Open(sDocFile)
if fso.FileExists(sPdfFile) Then
fso.DeleteFile sPdfFile, True
End If
WScript.Echo "Converting to PDF: " + sPdfFile
Set wview = wdoc.ActiveWindow.View
wview.ShowRevisionsAndComments = False
wview.RevisionsView = wdRevisionsViewFinal
wdoc.SaveAs sPdfFile, wdFormatPDF
WScript.Echo "Conversion completed"
wdo.Quit wdDoNotSaveChanges
Set fso = Nothing
Set wdo = Nothing
End Function
If arguments.Count=1 Then
Call DOC2PDF(arguments.Unnamed.Item(0))
Else
WScript.Echo "Generates a PDF file from a Word document using Word PDF export."
WScript.Echo ""
WScript.Echo "Usage: doc2pdf.vbs <doc-file>"
WScript.Echo ""
End If
8
我至今爲止還沒有,但它不應該是困難的:
- 創建一個Word COM服務器對象使用
CreateOLEObject
('Word.Application')
- 打開使用
ExportAsFixedFormat
Documents.Open
這是一個基本框架:
uses
ComObj;
const
wdExportFormatPDF = 17;
var
Word, Doc: OleVariant;
begin
Word := CreateOLEObject('Word.Application');
Doc := Word.Documents.Open('C:\Document.docx');
Doc.ExportAsFixedFormat('C:\Document.pdf', wdExportFormatPDF);
end;
請注意,我宣佈雙方Word
和Doc
變量OleVariants,以便版本indepent(即無論您使用的是Word 2007還是2010,此代碼都可以使用)。如果您願意,您也可以使用VCL Office組件庫。如果您要在文檔中進行大量處理,那肯定會更快。
相關問題
- 1. 用於將Word和Excel文檔轉換爲PDF的ActiveX組件
- 2. 將pdf文件轉換爲word文檔
- 3. 將word文檔轉換爲pdf的vbscript
- 4. 將Word文檔轉換爲PDF - Python
- 5. 將word文檔轉換爲pdf
- 6. 將文檔轉換爲pdf
- 7. 使用java中的itext將pdf文件轉換爲word文檔
- 8. 將PDF轉換成Word文檔
- 9. 使用Java將Word文檔轉換爲PDF
- 10. 在SharePoint 2013中將Word文檔轉換爲PDF使用Microsoft.Office.Interop.Word
- 11. 如何使用GhostScript將WORD文檔與書籤轉換爲PDF?
- 12. 是否可以使用ColdFusion將Microsoft Word文檔轉換爲PDF?
- 13. 如何使用vb.net將word文檔轉換爲pdf?
- 14. 使用documents4j將文檔轉換爲PDf
- 15. 將MS-Word轉換爲PDF
- 16. 在Windows服務器上將Word文檔文件轉換爲PDF
- 17. C#將PDF文件轉換爲Word文檔,反之亦然
- 18. 如何將word文檔轉換爲perl中的pdf文件?
- 19. OpenOffice SDK:將文檔轉換爲PDF
- 20. 使用自定義xml將Word 2003文檔轉換爲word 2010
- 21. 將pdf轉換爲word doc文件
- 22. 多個Word文檔到PDF轉換
- 23. ColdFusion - 將HTML網頁轉換爲Word或PDF文檔
- 24. 級聯Word文檔並將它們轉換爲pdf
- 25. cfdocument沒有正確地將Word文檔轉換爲PDF
- 26. 將MS Word文檔轉換爲ASP.NET中的PDF
- 27. 如何將圖像轉換爲PDF和MS Word文檔C#?
- 28. 在瀏覽器中將MS Word文檔轉換爲PDF
- 29. 只將第一個Word文檔頁轉換爲PDF
- 30. 將Word文檔轉換爲EPUB
我選擇這個作爲答案,因爲它包含'wdDoNotSaveChanges',幫助了我很多!我失去了1天,然後我又讀了這個問題!沒有使用這個詞要求保存,這是非常煩人的。 – LaBracca 2011-11-30 12:59:39