回答:
PDFCreatorは、ghostscriptに基づく無料のPDFへの印刷ツールです。Acrobat Distillerの出力は少し良くなる傾向がありますが、それはかなり良いです。
.NETまたはJavaプログラマーであり、プログラムで実行する場合は、Aspose.WordsをAspose.PDFと組み合わせて使用できます。
私にとってはうまくいきました。
編集:最近のバージョンを使用する場合、Aspose Wordsのライセンスを取得するだけでよいようです。
Office 2007には、無料のPDFエクスポートアドインが用意されています。
プログラムでそれをしたい場合は、ここで私の応答を見てください:
DOCからPDFへの変換-/programming/218556/send-document-to-printer-with-c#221818
これは私が現在使用しているコードで、非常にうまく機能します。.doc、.docx、.rtfなど、Wordで開くものはすべて処理します。
また、変換するファイルがたくさんある場合は、Wordを一度バックグラウンドで開き、その後ファイルを開いて、変換して閉じ、非常に高速に動作し、変換時でもクラッシュなどの問題が発生しないようにコードを書くことができます数千のファイルを一度に。
Altsoft Xml2PDFをお試しください
ねえ、私が見つけたものを見てください。http://www.phplivedocx.org/2009/02/06/convert-doc-to-pdf-in-php/
PHPLiveDocxは、phpのドキュメント作成プログラムです。DocをPDFに変換するために使用できます。私自身はまだ試していませんが、すぐに試してみるつもりです。
http://www.freepdfconvert.comのようなオンラインサービスを使用できます 。ソフトウェアをインストールする必要はありません。
過去に私はさまざまなアプローチを試しました。しかし、今はMicrosoft Office Word 2007とSaveAsPDF-Addinで大丈夫です。「PDFとして保存」プロセスをマクロとして記録し、少し調整しました。これが私の現在のバージョンです:
Sub UpdateAndPDF()
' Update page header
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.WholeStory
Selection.Fields.Update
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
' Update document (like F9)
Selection.WholeStory
Selection.Fields.Update
WordBasic.AcceptAllChangesInDoc
' create PDF
PDFFilename = (Replace(ActiveDocument.FullName, ".doc", ".pdf"))
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
PDFFilename _
, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateHeadingBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
' Close Word
ActiveDocument.Save
Application.Quit
End Sub
単語のマクロオプションを使用すると、自動化のためにコマンドラインでこのマクロを使用できます。例えば
"c:\Program Files\Microsoft Office\Office12\WINWORD.EXE" wordfile.doc /mUpdateAndPDF
バッチファイル内の複数のドキュメントに使用する場合は、次の方法を試してください。
@echo off
SET WORD="c:\Program Files\Microsoft Office\Office12\WINWORD.EXE"
FOR %%f in (*.doc) do %WORD% %%f /mUpdateAndPDF
私はこの市場を詳細に調査しましたが、Aspose.Wordsは検討する価値があります。それは良い仕事をし、100%.netですが、完全な忠実度(Asposeが脚注、制限されたテキストフロー、フローティングオブジェクトをレンダリングしません)の後であれば、唯一の選択肢はOfficeを直接自動化することです、これは苦痛ですサーバーで実行するか、サーバーで実行され、Webサービスを使用して呼び出すことができるMuhimbi PDF変換サービスなど、すべてのハードワークを実行した製品を使用します。
完全な開示、私はMuhimbiで働いています(だからこそ市場を非常に広範囲に調査しました)。
Aspose.Wordsについては前述しました。最新の情報を追加したいだけです。
Aspose.Wordsが単独でPDFに変換されるようになりました(以前はAspose.Words + Aspose.Pdfが必要でした)。使用するコンポーネントは2つよりも優れています。
Aspose.Wordsを使用する利点の1つは、PDFだけでなくXPSでも同じ見栄えの良いドキュメントを取得できることです。ページを画像としてレンダリングし、ドキュメントを印刷することもできます。
Aspose.Wordsチームに所属しています。
Office 2010以降では、プラグインなしでファイルをPDFとして保存できます。Office 2013では、pdfファイルを開いて編集することもできます(もちろん、ファイルが編集から保護されていない場合)
Windows 10にはPDFプリンターも組み込まれているため、そのためにサードパーティのソフトウェアは必要ありません