Word 2007またはWord 2010のPDFエクスポート機能を使用して、docまたはdocxをpdfに変換するコードを誰も書いていましたか?WordのActiveXを使用してデルファイに変換するdoc
答えて
私は以下の.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
私がこれまで持っていないが、それは難しいことではありません。
- は、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;
注バージョンindepentとなるように、私は、OLEVariantといったようWord
とDoc
変数の両方を宣言しました(すなわち、このコードは、Word 2007または2010を使用している場合でも機能します)。必要に応じて、VCL Officeコンポーネントライブラリを使用することもできます。ドキュメント自体で多くの処理を行うなら、間違いなく速くなるでしょう。
これは機能します(OleAutoは廃止されているので、私はComObjに置き換えました)。 VCLのOfficeコンポーネントライブラリの場所を教えてください:Delphi 7パレットで見たことがあるのを覚えていますが、2009年には表示されません。 – LaBracca
@ user193655:私はそれが別のオプションであることを覚えているようです。インストーラが、私は確信することはできません。私はD2010のセットアップでそれらを手に入れていませんでした(しかし、私はほとんどの場合、いつもバリアントを使用していますので、柔軟性が増します - 私はVBAのオブジェクトブラウザを使ってオブジェクトや使用方法を見つけ出します) – Martijn
- 1. .NET Microsoft.Office.Interopを使用して.DOCをXHTMLに変換する
- 2. OpenOffice.orgの基本マクロを使用して* .odtファイルをMS Word * .docファイルにプログラムで変換します
- 3. word docをpdfファイルに変更する
- 4. カスタムドキュメントライブラリDispForm.aspxを使用してWordで.docを編集するDispForm.aspx
- 5. Javaを使用してWord文書をPDFに変換する
- 6. Office Wordを使用してPHPでdocファイルを読む
- 7. doc&docxをPDF形式に変換するポートでサービスとしてWord 2010を実行しますか?
- 8. WordでActiveXコンポーネント名のプロパティを動的に変更する
- 9. Apache FOPを使用してWord 2007文書をPDFに変換する方法
- 10. Acrobat SDKを使用してPDFをWordに変換する方法は?
- 11. Asp.Netを使用してPS(Post Sctipt)ファイルをWordに変換する
- 12. プログラミングを使用してdocをps形式に変換したい
- 13. DOCXをRubyのDOCに変換する
- 14. docファイルをPDFに変換
- 15. Wordオートメーションを使用せずにWord 2003をWord 2007に一括変換しますか?
- 16. サーバー上にword docを作成して保存する
- 17. doc/docxをセマンティックHTMLに変換する
- 18. HTMLをodt、doc、docxに変換する
- 19. docをpdf形式に変換する#
- 20. .doc/docxをHtmlに変換する
- 21. docをhtmlとpdfに変換する
- 22. コマンドラインでdocをtxtに変換する
- 23. .docを.docxに変換するC#
- 24. VBA Microsoft Word 2003 + MsgBoxと.docファイルに変更する
- 25. Wordオートメーション:C#を使用して画像を置換する
- 26. .NETでHTMLをWordに変換する
- 27. オープンxml sdkを使ってdocをdocxに変換するには#
- 28. 20k Word Docを自動生成されたメタタグの小さなHTMLページに変換しますか?
- 29. "plain" COM/ActiveXでMicrosoft Officeパッケージ(Word、Excelなど)のオートメーションオブジェクトモデルを使用する方法
- 30. VB 6.0 - >デルファイXE2変換
私は多くの助けになった 'wdDoNotSaveChanges'を含んでいるので、これを答えとして選択します!私は1日失ったし、再びこの質問を読んだ!その言葉を使わずに節約を求めると非常に迷惑です。 – LaBracca