it-swarm-pt.tech

Lote converter documentos do Word para PDFs

Como faço para converter em lote muitos documentos do Word e salvá-los como [originalfilename] .pdf?

36
Kjensen

É assim que eu faria:

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

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

24
Travis

Isso pode estar empurrando-o para o território stackoverflow.com, mas você pode criar scripts no Word 2007 para abrir e salvar um documento como PDF. Isso requer o Office 2007 e o "Salvar como PDF" plug-in da Microsoft.

Salve isso em um arquivo SaveAsPDF.js e execute-o a partir da 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();
    }
}
41
bobbymcr

bem, cutepdf e pdf99 fazem bem o seu trabalho, mas eu acho PDFcreator mais atraente como 'impressão de qualidade superior aos outros dois, também tem mais opção de configuração, mais é open-source.

9
Tutul

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 converter todos os arquivos em um diretório. Com um pouco de brincadeira criei um arquivo. CovertAll2PDF.bat com as seguintes 2 linhas:

echo off
for %%X in (*.doc) do cscript.exe //nologo SaveAsPDF.js "%%X"

existe também o /r "Parent Directory", que pode ser inserido como /r "PD" %%X in -...., que passará por todos os diretórios, nesse caso, faça-o C:\SaveAsPDF.js e salve Saveaspdf.js nesse diretório.

Tenho certeza que é desajeitado, mas funcionou para mim. Espero que isso ajude alguém.

6
Fallensoul

Use o Google Docs como um lote PDF Converter por Amit Agarwal

Se você tem um enorme pacote de documentos do Word, planilhas do Excel e apresentações do PowerPoint no disco rígido que deseja converter em PDF sem investir em softwares comerciais como o Adobe Acrobat, experimente 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 torna ainda mais fácil converter arquivos de formato do Microsoft Office e do OpenOffice em PDF ( ou HTML) em três etapas fáceis. Conversão em lote para PDF com o Google Docs

Use o Google Docs como um lote PDF Converter

Etapa 1 - Crie uma nova pasta de "entrada" no Google Docs, na qual você fará o upload de todos os seus documentos e apresentações convertidos em PDF.

Passo # 2 - Agora selecione a opção Carregar Documento no Google Docs, defina a pasta de destino para aquela que você criou na Etapa 1 e carregue * todos seus documentos.

O Documentos Google 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 o gerenciamento de documentos pode se tornar um problema, especialmente quando você tem muitos arquivos.

Etapa 3 - Depois que todos os arquivos forem carregados no Google Docs, abra o painel novamente e selecione a pasta "entrada" na barra lateral direita. Selecione todos os arquivos nesta pasta e escolha "Exportar" em "Mais opções".

Aqui está selecionado "PDF" (ou HTML) como o formato de saída e todos os seus documentos do Word, apresentações, planilhas, etc. serão convertidos instantaneamente em PDF.

E se você estiver convertendo um grande lote de documentos em PDF, não será necessário esperar no navegador para que a conversão seja concluída, 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.

6
Adrian

A resposta de Bobbymcr é bem interessante e funciona bem com o Word 2010. Ainda assim, há uma melhoria a ser feita. A linha de comando original do Bobbymcr é assim:

cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc

Isso não funciona se você tiver associado arquivos .js com algum tipo de editor, como o Notepad ++. Nesse caso, você também deve especificar o mecanismo a ser usado, caso contrário, o cscript mostrará uma mensagem de erro. Isso é facilmente alcançado usando o parâmetro de linha de comando //E:jscript:

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

6
JC2k8

Este pequeno trecho funcionou muito bem para mim.

  • Livre
  • Fácil
  • Não há limites no 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()
    

Basta salvá-lo em um script do PowerShell como Convert-Documents.ps1 e, em seguida, executá-lo na linha de comando na pasta em que todos os documentos de origem estão localizados.

4
Umar Farooq Khawaja

Eu não tentei, mas há um método em lote usando o OpenOffice.org que você poderia testar. Instruções sobre como fazer isso nas plataformas GNU/Linux e Windows descritas em http://www.tech-faq.com/convert-Word-to-pdf.shtml (e também em http://www.togaware.com/linux/survivor/Convert_MS_Word.html "e, em http: //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 um PDF parece ser bom se você achar que o OpenOffice.org faz um trabalho razoável de abrir os arquivos .doc que você tem.

4
mas

Se você quer um método online rápido e simples para 20 ou menos arquivos, então use este site online2pdf , aqui você pode enviar seus arquivos, escolher algumas opções e clicar em converter, ele converterá todos os documentos e depois baixe automaticamente um único arquivo Zip contendo os arquivos PDF.

0
Ghos3t

Se os documentos do Word forem simples e você não precisar que a formatação dos documentos do Word esteja presente nos documentos PDF, você pode usar um loop simples ao redor do código principal do meu programa DOCXtoPDF para fazer o que quiser. O DOCXtoPDF usa internamente o xtopdf, meu kit de ferramentas Python para PDF criação 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
Vasudev Ram

Convertendo vários documentos de DOC para PDF no Windows XP usando JODConverter e Open Office

Pré-requisitos:


Passo 1 Download JODConverter (última versão jodconverter-2.2.2.Zip) de

Descompacte o arquivo JODConverter Zip em um diretório de sua escolha (D1)


Passo 2 Inicie o OpenOffice em modo de serviço (mais detalhes aqui )

Crie um arquivo de 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 X:\Arquivos de Programas\OpenOffice.org 3\é o diretório onde o Open Office está instalado e o soffice.exe está presente).

Execute start-service.bat (o Open Office agora é iniciado no modo de serviço e aguarda comandos)


Passo 3

Colete todos os documentos para serem convertidos em pdf em um diretório (D2)

Crie um arquivo em lote convert.doc que inicialize 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

onde D1 é o diretório JODConverter criado em Etapa 1

(Se JODConverter tiver outro número de versão, atualize convert.bat de acordo)

IMPORTANTE: o arquivo convert.bat deve estar localizado no diretório D2!


Passo 4:

Execute o convert.bat

Para cada arquivo * .doc presente no D2 JODConverter exigirá o Open Office para criar um novo arquivo com o mesmo nome e extensão pdf no mesmo diretório.

0
Adrian

Construindo fora de resposta de Umar , aqui está um script PowerShell modificado que irá:

  • Processo DOC assim como DOCX
  • Mostrar uma barra de progresso enquanto ela funciona

Assim como no Umar, para usar isto:

  • salve o script abaixo como um arquivo, por exemplo, doc2pdf.ps1, em algum lugar em seu PATH
  • mude para o diretório que contém seus arquivos doc ou docx
  • execute powershell doc2pdf.ps1
$Word=New-Object -ComObject Word.Application

[email protected](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.

0
cxw