Converter em lote documentos do Word em PDFs


Respostas:


24

É assim que eu faria:

  1. Baixar CutePDF writer
  2. Defina o gravador como sua impressora padrão (você pode alterá-la mais tarde)
  3. Coloque todos os seus arquivos .doc na mesma pasta
  4. Destaque todos os arquivos, clique com o botão direito do mouse em Imprimir

A única desvantagem é que você precisa clicar em Ok uma vez para cada arquivo.


3
Foi isso que eu realmente fiz. Eu tive que fazer um pouco diferente ... Eu abro a "Impressora" CutePDF no painel de controle, para mostrar qual seria a fila da impressora ... Então eu arrastei e soltei os documentos naquela janela - e então estava tudo pressionando ENTER para aceitar o nome do arquivo de lá ... Todos eles foram nomeados MICROSOFT WORD - [nome do arquivo] .pdf, mas eu posso resolver isso facilmente.
Kjensen

O mesmo fluxo de trabalho pode ser usado com o PDFCreator ( en.pdfforge.org/pdfcreator ). Se você instalá-lo como um serviço ou no modo automático, ele será liberado, exceto para selecionar> imprimir.
27510 Julian

11
Se eu destacar mais de 15 arquivos no Windows, a opção 'Imprimir' desaparecerá do menu de contexto do botão direito. Eu apenas tentei o método de arrastar soltar n, mas 94 arquivos só poderia ser demais para ele ...
Spacedman

41

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.jse 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();
    }
}

5
O código acima funciona de maneira excelente, mas leva apenas um arquivo como argumento. Eu estava com preguiça de procurar uma maneira de filtrar um diretório em JScript, então criei uma maneira no Powershell usando a postagem abaixo como inspiração: stackoverflow.com/questions/181036/… PS E: \ MyDocuments> ls * .doc | % {cscript // nome E: \ jssrc \ SaveAsPDF.js $ _}
Aniti

@bobbymcr O link na resposta está morto. Veja aqui o SaveAsPDFdownload atual do plugin.
Peter Vandivier

9

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.


11
O PDFCreator pode ser usado como respondido por kjensen acima, no entanto, gostaria de salientar que nas opções do PDFCreator, você pode ativar o salvamento automático, que salvará automaticamente cada documento no diretório de sua escolha com o nome de arquivo de sua escolha também . Dessa forma, você não precisa clicar em "Enter" para verificar se deseja salvar cada arquivo.

6

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.


11
Esteja preparado para manipular significativamente qualquer documento que contenha tabelas, imagens e fontes menos comuns. Eu não mergulhei mais nisso, mas tentei um documento do Word com papel timbrado construído com uma tabela contendo texto e gráfico e usando a fonte Calibri. O PDF não era nada parecido com o original.
Rossmcm 02/08/19

Este método é originalmente de 2009 e, infelizmente, parece ter sido removido (arquivos individuais podem ser exportados como pdf, mas as pastas não ...)
Joe

6

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:jscriptparâmetro de linha de comando:

cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc


6

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.


4

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.


11
O uso do OpenOffice.org fornece um índice clicável e assim por diante. Qualquer solução "Imprimir em PDF" não. Veja superuser.com/questions/568/how-to-print-documents-to-pdf/…
Arjan

+1 para impressoras virtuais em pdf. Isso é ótimo, eu gostaria que eles estivessem disponíveis por padrão em todos os sistemas operacionais.
Manu

4

Este pequeno trecho funcionou muito bem para mim.

  • Livre
  • Fácil
  • 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.ps1e execute-o na linha de comando, dentro da pasta em que todos os documentos de origem estão localizados.


Houve uma edição feita pelo @cxw na minha resposta, que removeu partes significativas da minha resposta, a saber, o fato de o script ser freee poder processar e unlimitednúmero de arquivos. Como tal, revirei a edição, mas incorporei a correção de sintaxe sugerida na edição.
Umar Farooq Khawaja

Funcionou para mim no Windows 7 quando retirei os [ref]comandos e a última linha ( $Word.Close()). Caso contrário, os erros apareceram.
precisa saber é o seguinte

0

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.


0

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

https://bitbucket.org/vasudevram/xtopdf

http://www.reportlab.com/ftp


0

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.


0

Com base na resposta do Umar , aqui está um script do PowerShell modificado que:

  • Processar DOC e DOCX
  • Mostrar uma barra de progresso enquanto ela funciona

Como no Umar, para usar isso:

  • salve o script abaixo como um arquivo, por exemplo, doc2pdf.ps1em algum lugar do seuPATH
  • mude para o diretório que contém seus arquivos doc ou docx
  • corre 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.