Respostas:
É assim que eu faria:
A única desvantagem é que você precisa clicar em Ok uma vez para cada arquivo.
Isso pode levá-lo ao território stackoverflow.com, mas você pode criar um script no Word 2007 para abrir e salvar um documento como PDF. Isso requer o Office 2007 e o plug-in "Salvar como PDF" da Microsoft.
Salve isso em um arquivo SaveAsPDF.js
e execute-o na linha de comando usando cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var docPath = WScript.Arguments(0);
docPath = fso.GetAbsolutePathName(docPath);
var pdfPath = docPath.replace(/\.doc[^.]*$/, ".pdf");
var objWord = null;
try
{
WScript.Echo("Saving '" + docPath + "' as '" + pdfPath + "'...");
objWord = new ActiveXObject("Word.Application");
objWord.Visible = false;
var objDoc = objWord.Documents.Open(docPath);
var wdFormatPdf = 17;
objDoc.SaveAs(pdfPath, wdFormatPdf);
objDoc.Close();
WScript.Echo("Done.");
}
finally
{
if (objWord != null)
{
objWord.Quit();
}
}
SaveAsPDF
download atual do plugin.
bem, cutepdf e pdf99 fazem seu trabalho bem, mas acho que o PDFcreator é mais atraente, pois é impresso com maior qualidade do que os outros dois, também possui mais opções de configuração, além de ser de código aberto.
Use o Google Docs como um conversor de PDF em lote de Amit Agarwal
Se você possui um enorme pacote de documentos do Word, planilhas do Excel e apresentações do PowerPoint no disco rígido que gostaria de converter em PDF de uma só vez sem investir em software comercial como o Adobe Acrobat, tente o Google Docs.
Embora sempre tenha sido possível converter documentos do Office em PDF usando o Google Docs, o novo recurso de exportação facilita ainda mais a conversão em lote dos formatos de arquivo do Microsoft Office e do OpenOffice em PDF (ou HTML) em três etapas fáceis. Conversão em lote para PDF com Google Docs
Use o Google Docs como um conversor de PDF em lote
Etapa 1 - Crie uma nova pasta "entrada" no Google Docs, onde você fará o upload de todos os seus documentos e apresentações que serão convertidos em PDF.
Etapa 2 - Agora selecione a opção Carregar documento no Google Docs, defina a pasta de destino como a que você criou na Etapa 1 e faça o upload * de todos os seus documentos.
O Google Docs suporta oficialmente os seguintes formatos de arquivo, embora você também possa enviar imagens:
* Microsoft PowerPoint (.ppt, .pps).
* Microsoft Word (.doc, .docx), OpenDocument (.odt) and StarOffice (.sxw).
* Microsoft Excel (csv, .xls, .xlsx) files and OpenDocument Spreadsheet (.ods).
[*] Você também pode usar a opção de e-mail para enviar documentos para o Google Docs, mas isso colocaria tudo na pasta principal e, portanto, o gerenciamento de documentos pode se tornar um problema, especialmente quando você possui muitos arquivos.
Etapa 3 - Depois que todos os arquivos forem carregados no Google Docs, abra o painel novamente e selecione a pasta "input" na barra lateral direita. Selecione todos os arquivos nesta pasta e escolha "Exportar" em "Mais opções".
Aqui, selecione "PDF" (ou HTML) como formato de saída e todos os seus documentos, apresentações, planilhas, etc. do Word serão instantaneamente convertidos em PDF.
E se você estiver convertendo um grande lote de documentos em PDF, não precisará aguardar no navegador a conclusão da conversão, pois o Google Docs enviará automaticamente um e-mail assim que o processamento terminar. O email terá um link de onde você pode baixar diretamente todos os arquivos PDF em um ZIP grande.
A resposta de Bobbymcr é bastante interessante e funciona bem com o Word 2010. Ainda assim, há uma melhoria a ser feita. A linha de comando original de Bobbymcr é assim:
cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Isso não funciona se você tiver associado arquivos .js a algum tipo de editor como o Notepad ++. Nesse caso, você também precisa especificar o mecanismo a ser usado, caso contrário, o cscript mostrará uma mensagem de erro. Isso é facilmente alcançado usando o //E:jscript
parâmetro de linha de comando:
cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Em relação ao script SaveAsPDF.js que um usuário anterior postou. Isso funcionou para converter um arquivo pdf, mas eu não sabia como esconder todos os arquivos em um diretório. Com um pouco de brincadeira, criei um arquivo. CovertAll2PDF.bat com as 2 linhas a seguir:
echo off
for %%X in (*.doc) do cscript.exe //nologo SaveAsPDF.js "%%X"
há também o /r "Parent Directory"
que pode ser inserido e o /r "PD" %%X in -....
qual passará por todos os diretórios; nesse caso, faça-o em C: \ SaveAsPDF.js e salve o Saveaspdf.js nesse diretório.
Tenho certeza de que é desajeitado, mas funcionou para mim. espero que isso ajude alguém.
Eu não tentei, mas existe um método em lote usando o OpenOffice.org que você pode testar. Instruções sobre como fazer isso nas plataformas GNU / Linux e Windows descritas emhttp://www.tech-faq.com/convert-word-to-pdf.shtml (e também emhttp://www.togaware.com/linux/survivor/Convert_MS_Word.html "e, emhttp://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).
O princípio de usar o OpenOffice.org para ler o arquivo .doc e depois exportá-lo como PDF parece correto, se você achar que o OpenOffice.org faz um trabalho razoável ao abrir os arquivos .doc que você possui.
Este pequeno trecho funcionou muito bem para mim.
Não há limites para o número de arquivos
$Word=New-Object -ComObject Word.Application
$Files=Get-ChildItem ".\*.docx"
ForEach ($File In $Files) {
$Document=$Word.Documents.Open($File.FullName)
$Name=($Document.FullName).Replace("docx", "pdf")
$Document.SaveAs([ref] $Name, [ref] 17)
$Document.Close()
}
$Word.Close()
Apenas salve-o em um script do PowerShell Convert-Documents.ps1
e execute-o na linha de comando, dentro da pasta em que todos os documentos de origem estão localizados.
free
e poder processar e unlimited
número de arquivos. Como tal, revirei a edição, mas incorporei a correção de sintaxe sugerida na edição.
[ref]
comandos e a última linha ( $Word.Close()
). Caso contrário, os erros apareceram.
Convertendo vários documentos de DOC para PDF no Windows XP usando o JODConverter e o Open Office
Pré-requisitos:
Etapa 1 Baixe o JODConverter (versão mais recente jodconverter-2.2.2.zip) a partir de
Descompacte o arquivo zip do JODConverter em um diretório de sua escolha (D1)
Etapa 2 Inicie o OpenOffice no modo de serviço (mais detalhes aqui )
Crie um arquivo em lote start-service.bat com o seguinte conteúdo:
start-service.bat:
X:\Program Files\OpenOffice.org 3\program\soffice.exe -headless
-accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard
:: se não funcionar, tente remover este último parâmetro (–nofirststartwizard)
(assumindo que X: \ Arquivos de programas \ OpenOffice.org 3 \ é o diretório em que o Open Office está instalado e o soffice.exe está presente).
Execute start-service.bat (o escritório aberto agora é iniciado no modo de serviço e aguardando comandos)
etapa 3
Colete todos os documentos a serem convertidos para pdf em um diretório (D2)
Crie um arquivo em lote convert.doc que inicie o JODConverter e emita as instruções de conversão:
convert.bat:
java -jar "<D1>\lib\jodconverter-cli-2.2.2.jar" -f pdf *.doc
em que D1 é o diretório JODConverter criado na Etapa 1
(Se o JODConverter tiver outro número de versão, atualize convert.bat adequadamente)
IMPORTANTE: o arquivo convert.bat deve estar localizado no diretório D2!
Passo 4:
Execute convert.bat
Para cada arquivo * .doc presente no D2, o JODConverter exigirá que o Open Office crie um novo arquivo com o mesmo nome e extensão pdf no mesmo diretório.
Se os documentos do Word forem simples e se você não precisar que a formatação dos documentos do Word esteja presente nos documentos em PDF, use um loop simples em torno do código principal dos meus programas DOCXtoPDF para fazer o que você deseja. O DOCXtoPDF usa internamente o xtopdf, meu kit de ferramentas Python para criação de PDF a partir de muitos outros formatos. Você também precisa do ReportLab 1.21 instalado.
Vejo:
http://jugad2.blogspot.in/2013/10/convert-microsoft-word-files-to-pdf.html
http://slid.es/vasudevram/xtopdf
Se você deseja um método on-line rápido e simples para 20 ou menos arquivos, use este site online2pdf , aqui você pode enviar seus arquivos, escolher algumas opções e clicar em converter, ele converterá todos os documentos e baixará automaticamente um único arquivo zip contendo os arquivos PDF.
Com base na resposta do Umar , aqui está um script do PowerShell modificado que:
Como no Umar, para usar isso:
doc2pdf.ps1
em algum lugar do seuPATH
powershell doc2pdf.ps1
$Word=New-Object -ComObject Word.Application
$Files=@(Get-ChildItem ".\*.docx") + @(Get-ChildItem ".\*.doc")
# Need @() to get an array in case there is only one file - see
# https://blogs.technet.microsoft.com/heyscriptingguy/2013/07/18/powertip-find-number-elements-in-a-powershell-array/#comment-104863
for($file_idx = 0; $file_idx -lt $Files.Count; ++$file_idx) {
# Show the current progress
$File = $Files[$file_idx]
Write-Progress -Activity "Convert DOC(X) to PDF" `
-CurrentOperation $File.Name `
-PercentComplete (($file_idx/$Files.Count)*100)
# Make the PDF
$Document=$Word.Documents.Open($File.FullName)
$Name=($Document.FullName -replace "\.docx?", ".pdf") # -replace is case-insensitive regex per https://ss64.com/ps/syntax-regex.html
$Document.SaveAs([ref] $Name, [ref] 17)
$Document.Close()
}
# Clean up
$Word.Quit() # Doesn't close other Word instance that may be running.
# Remove any dangling references, per https://technet.microsoft.com/en-us/library/ff730962.aspx
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Word)
Remove-Variable Word
# By cxw - https://superuser.com/users/269989/cxw - CC-BY-SA 3.0
# Modified from https://superuser.com/a/1187598/269989 by https://superuser.com/users/12797/umar-farooq-khawaja
Testado com o Word 2013 e o PowerShell 4.0.