Respostas:
Se você possui o MS Office 2007, pode usar o plug-in Salvar como PDF.
O PDFCreator é uma ferramenta gratuita de impressão em PDF baseada em ghostscript. É razoavelmente bom, embora a saída do Acrobat Distiller tenda a ser um pouco melhor.
Se você quiser fazer isso programaticamente e for um programador .NET ou Java, poderá usar o Aspose.Words em combinação com o Aspose.PDF .
Isso funcionou bem para mim.
EDIT: Parece que, usando uma versão recente, você só precisa licenciar o Aspose Words.
Uso regularmente - e recomendo - o PrimoPDF , disponível em encarnações gratuitas e pagas.
O Office 2007 tem um suplemento gratuito para exportação de PDF disponível aqui
Pessoalmente, uso o PDF 995 , uma impressora pdf gratuita :) funciona muito bem
Se você quiser fazer isso programaticamente, dê uma olhada na minha resposta aqui:
Converter DOC para PDF - /programming/218556/send-document-to-printer-with-c#221818
Este é o código que atualmente uso e funciona muito bem. Ele manipulará tudo o que o Word abrir, como .doc, .docx, .rtf etc.
Além disso, se você tiver muitos arquivos para converter, poderá escrever um código para que o Word seja aberto uma vez em segundo plano e os arquivos sejam posteriormente abertos, convertidos e fechados, funcionem muito rápido e não tive problemas com falhas etc., mesmo ao converter milhares de arquivos em qualquer lugar.
Experimente o Altsoft Xml2PDF
Ei, olha o que eu achei. http://www.phplivedocx.org/2009/02/06/convert-doc-to-pdf-in-php/
PHPLiveDocx é um programa de criação de documentos em php. Pode ser usado para converter Doc em PDF. Eu ainda não tentei, mas certamente experimentarei logo.
Você pode usar o serviço online como um em http://www.freepdfconvert.com Não há necessidade de instalar nenhum software.
No passado, eu tentei abordagens diferentes. Mas agora estou bem com o Microsoft Office Word 2007 e o SaveAsPDF-Addin. Gravei o processo "salvar como pdf" como macro e refinei-o um pouco. Aqui está a minha versão atual:
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
Com a opção macro da palavra, posso usar essa macro na linha de comando para fins de automação. por exemplo
"c:\Program Files\Microsoft Office\Office12\WINWORD.EXE" wordfile.doc /mUpdateAndPDF
Se você quiser usá-lo para vários documentos em um arquivo em lotes, tente o seguinte:
@echo off
SET WORD="c:\Program Files\Microsoft Office\Office12\WINWORD.EXE"
FOR %%f in (*.doc) do %WORD% %%f /mUpdateAndPDF
Eu pesquisei bastante esse mercado e o Aspose.Words vale a pena considerar. Ele faz um bom trabalho e é 100% .net, mas se você busca fidelidade perfeita (o Aspose não gera notas de rodapé, fluxo de texto limitado e objetos flutuantes), a única opção é automatizar o Office diretamente, o que é uma dor. no servidor ou use um produto que tenha feito todo o trabalho duro para você, como o Muhimbi PDF Conversion Service que é executado em um servidor e pode ser chamado usando um serviço da Web .
Divulgação completa, trabalho para a Muhimbi (e é por isso que pesquisei o mercado de maneira tão ampla).
Aspose.Words foi mencionado acima. Eu só quero adicionar as informações mais recentes.
O Aspose.Words agora se converte em PDF sozinho (você precisava do Aspose.Words + Aspose.Pdf). Um componente a ser usado é melhor que dois.
Um dos benefícios que você obtém com o Aspose.Words é que você pode obter os mesmos documentos de ótima aparência, não apenas em PDF, mas no XPS, renderiza páginas como imagens e até mesmo imprime documentos.
Estou na equipe Aspose.Words.
Não observei os recursos PDF incorporados nos últimos dois anos, mas você pode usar a automação de escritório para imprimir em um driver de impressora PostScript, que pode ser configurado como impressora. Isso cria um arquivo PostScript (PS) que pode ser convertido em PDF usando o GhostScript.
O Office 2010 e superior podem salvar o arquivo como pdf sem nenhum plug-in. O Office 2013 pode até abrir e editar o arquivo pdf (é claro se o arquivo não tiver sido protegido contra edição)
Windows 10 também tem uma impressora embutida PDF e você não precisa de qualquer 3 rd partido software para esse fim
Consulte esta pergunta para obter o código C # em um conversor gratuito de Word para PDF.