微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Delphi使用Word ActiveX将doc转换为pdf

有没有人已经使用Word 2007或Word 2010 pdf导出功能编写了将doc或docx转换为pdf的代码

解决方法

我使用以下.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

原文地址:https://www.jb51.cc/delphi/103095.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐