Convertir por lotes documentos de Word a PDF

Respuestas:

24

Así es como lo haría:

  1. Descargar CutePDF writer
  2. Configure el escritor como su impresora predeterminada (puede volver a cambiarlo más tarde)
  3. Coloque todos sus archivos .doc en la misma carpeta
  4. Resalte todos los archivos, haga clic derecho, Imprimir

El único inconveniente es que debe hacer clic en Aceptar una vez para cada archivo.

Travis
fuente
3
Esto fue lo que realmente hice. Sin embargo, tuve que hacerlo un poco diferente ... Abrí la "Impresora" CutePDF desde el panel de control, por lo que mostró lo que sería la cola de la impresora ... Luego arrastré y solté los documentos en esa ventana, y luego todo estaba golpeando ENTER para aceptar el nombre de archivo desde allí ... Todos fueron nombrados MICROSOFT WORD - [nombre de archivo] .pdf, pero puedo resolverlo fácilmente.
Kjensen el
El mismo flujo de trabajo se puede usar con PDFCreator ( en.pdfforge.org/pdfcreator ). Si lo instala como un servicio o en modo automático, es manos libres, excepto para seleccionar> imprimir.
matt wilkie
1
Si destaco más de 15 archivos en Windows, la opción 'Imprimir' desaparece del menú contextual del botón derecho. Acabo de probar el método de arrastrar y soltar, pero 94 archivos podrían ser demasiado para él ...
Spacedman
41

Esto podría estar empujándolo al territorio de stackoverflow.com, pero podría escribir Word 2007 para abrir y guardar un documento como PDF. Esto requiere Office 2007 y el complemento "Guardar como PDF" de Microsoft.

Guarde esto en un archivo SaveAsPDF.jsy ejecútelo desde la línea 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();
    }
}
bobbymcr
fuente
55
El código anterior funciona excelentemente, pero solo toma un archivo como argumento. Fui demasiado vago para buscar una forma de filtrar un directorio en JScript, así que preparé una forma en Powershell usando la publicación a continuación como inspiración: stackoverflow.com/questions/181036/… PS E: \ MyDocuments> ls * .doc | % {cscript // nologo E: \ jssrc \ SaveAsPDF.js $ _}
Aniti
@bobbymcr El enlace en respuesta está muerto. Vea aquí para SaveAsPDFdescargar el complemento actual .
Peter Vandivier
9

bueno, cutepdf y pdf99 hacen bien su trabajo, pero encuentro que PDFcreator es más atractivo ya que 'imprime en mayor calidad que los otros dos, también tiene más opciones de configuración, además de ser de código abierto.

Tutul
fuente
1
PDFCreator se puede utilizar como respondió kjensen arriba, sin embargo, quería señalar que en las opciones de PDFCreator, puede habilitar el guardado automático, que también guardará automáticamente cada documento en el directorio de su elección con el nombre de archivo de su elección . De esa manera, no necesita presionar "enter" para verificar que desea guardar cada archivo.
6

Utilice Google Docs como un convertidor de PDF por lotes por Amit Agarwal

Si tiene un gran paquete de documentos de Word, hojas de cálculo de Excel y presentaciones de PowerPoint en su disco duro que le gustaría convertir a PDF de inmediato sin invertir en software comercial como Adobe Acrobat, pruebe Google Docs.

Si bien siempre ha sido posible convertir documentos de Office a PDF con Google Docs, la nueva función de exportación hace que sea aún más fácil convertir por lotes los formatos de archivo de Microsoft Office y OpenOffice a PDF (o HTML) en tres sencillos pasos. Conversión por lotes a PDF con Google Docs

Utilice Google Docs como un convertidor de PDF por lotes

Paso 1 : crea una nueva carpeta de "entrada" en Google Docs donde subirás todos tus documentos y presentaciones que se convertirán a PDF.

Paso # 2 : ahora selecciona la opción Cargar documento en Google Docs, establece la carpeta de destino en la que creaste en el Paso # 1 y sube * todos tus documentos.

Google Docs admite oficialmente los siguientes formatos de archivo, aunque también puede cargar imágenes:

* Microsoft PowerPoint (.ppt, .pps).
* Microsoft Word (.doc, .docx), OpenDocument (.odt) and StarOffice (.sxw).
* Microsoft Excel (csv, .xls, .xlsx) files and OpenDocument Spreadsheet (.ods).

[*] También puedes usar la opción de correo electrónico para subir documentos a Google Docs, pero eso colocaría todo en la carpeta principal y la administración de documentos puede convertirse en un problema, especialmente cuando tienes demasiados archivos.

Paso # 3 : una vez que todos los archivos se cargan en Google Docs, abra el panel nuevamente y seleccione la carpeta "entrada" en la barra lateral derecha. Seleccione todos los archivos en esta carpeta y elija "Exportar" en "Más opciones".

Aquí seleccione "PDF" (o HTML) como formato de salida y todos sus documentos de Word, presentaciones, hojas de cálculo, etc. se convertirán instantáneamente en PDF.

Y si está convirtiendo un gran lote de documentos en PDF, no tiene que esperar en el navegador a que finalice la conversión, ya que Google Docs le enviará automáticamente un correo electrónico una vez que finalice el procesamiento. El correo electrónico tendrá un enlace desde donde puede descargar directamente todos los archivos PDF en un gran ZIP.

Adrian
fuente
1
Esté preparado para una manipulación significativa de cualquier documento que contenga tablas, imágenes y fuentes menos comunes. No me he sumergido más en él, pero probé un documento de Word con un membrete construido con una tabla que contiene texto y un gráfico, y usando la fuente Calibri. El PDF no se parecía en nada al original.
rossmcm
Este método es originalmente de 2009 y desafortunadamente parece haberse eliminado (los archivos individuales se pueden exportar como pdf, pero las carpetas no ...)
Joe
6

La respuesta de Bobbymcr es bastante interesante y funciona bien con Word 2010. Aún así, hay una mejora por hacer. La línea de comando original de Bobbymcr se ve así:

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

Esto no funciona si ha asociado archivos .js con algún tipo de editor como Notepad ++. En este caso, también debe especificar el motor a utilizar, de lo contrario, cscript le mostrará un mensaje de error. Esto se logra fácilmente utilizando el //E:jscriptparámetro de línea de comando:

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

JC2k8
fuente
6

Con respecto al script SaveAsPDF.js que publicó un usuario anterior. Esto funcionó para convertir un archivo pdf, pero no sabía cómo convertir todos los archivos en un directorio. Jugando un poco creé un archivo. CovertAll2PDF.bat con las siguientes 2 líneas:

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

también está el /r "Parent Directory"que se puede insertar, ya /r "PD" %%X in -....que pasará por todos los directorios, en ese caso, haga que C: \ SaveAsPDF.js y guarde Saveaspdf.js en ese directorio.

Estoy seguro de que es torpe, pero funcionó para mí. Espero que esto ayude a alguien.

Fallensoul
fuente
4

No lo he probado, pero hay un método por lotes usando OpenOffice.org que puedes probar. Las instrucciones para hacerlo en las plataformas GNU / Linux y Windows se describen enhttp://www.tech-faq.com/convert-word-to-pdf.shtml (y también enhttp://www.togaware.com/linux/survivor/Convert_MS_Word.html "y, enhttp://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).

El principio de usar OpenOffice.org para leer el archivo .doc y luego exportarlo como PDF parece sólido si encuentra que OpenOffice.org hace un trabajo razonable al abrir los archivos .doc que tiene.

mas
fuente
1
El uso de OpenOffice.org le dará una tabla de contenido en la que se puede hacer clic, etc. Cualquier solución de "Imprimir a PDF" no lo hará. Ver superuser.com/questions/568/how-to-print-documents-to-pdf/…
Arjan
+1 para impresoras virtuales pdf. Esos son geniales, desearía que estuvieran disponibles por defecto en cada sistema operativo.
Manu
4

Este pequeño fragmento funcionó muy bien para mí.

  • Gratis
  • Fácil
  • No hay límites en el número de archivos.

    $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()
    

Simplemente guárdelo en un script de PowerShell como Convert-Documents.ps1y luego ejecútelo desde la línea de comandos desde la carpeta donde se encuentran todos sus documentos de origen.

Umar Farooq Khawaja
fuente
Hubo una edición realizada por @cxw a mi respuesta, que eliminó partes significativas de mi respuesta, a saber, el hecho de que el script es freey puede procesar y la unlimitedcantidad de archivos. Como tal, revertí la edición, pero incorporé la corrección de sintaxis sugerida en la edición.
Umar Farooq Khawaja
Funcionó para mí en Windows 7 cuando quité los [ref]comandos y la última línea ( $Word.Close()). De lo contrario, aparecieron errores.
amado.por.Jesús
0

Convertir múltiples documentos de DOC a PDF en Windows XP usando JODConverter y Open Office

Prerrequisitos:


Paso 1 Descargue JODConverter (última versión jodconverter-2.2.2.zip) de

Descomprima el archivo zip JODConverter en un directorio de su elección (D1)


Paso 2 Inicie OpenOffice en modo de servicio (más detalles aquí )

Cree un archivo por lotes start-service.bat con el siguiente contenido:

start-service.bat:

X:\Program Files\OpenOffice.org 3\program\soffice.exe -headless
-accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard

:: si no funciona, intente eliminar este último parámetro (–nofirststartwizard)

(suponiendo que X: \ Archivos de programa \ OpenOffice.org 3 \ es el directorio donde está instalado Open Office y está presente soffice.exe).

Ejecute start-service.bat (la oficina abierta ahora se inicia en modo de servicio y en espera de comandos)


Paso 3

Recopile todos los documentos para convertirlos a pdf en un directorio (D2)

Cree un archivo por lotes convert.doc que inicie JODConverter y emita las instrucciones de conversión:

convert.bat:

java -jar  "<D1>\lib\jodconverter-cli-2.2.2.jar" -f pdf  *.doc

donde D1 es el directorio JODConverter creado en el Paso 1

(Si JODConverter tiene otro número de versión, actualice convert.bat en consecuencia)

IMPORTANTE: ¡el archivo convert.bat debe estar ubicado en el directorio D2!


Etapa 4:

Ejecute convert.bat

Para cada archivo * .doc presente en D2 JODConverter requerirá que Open Office cree un nuevo archivo con el mismo nombre y extensión pdf en el mismo directorio.

Adrian
fuente
0

Si los documentos de Word son simples y no necesita que el formato de los documentos de Word esté presente en los documentos PDF, puede usar un bucle simple alrededor del código central de mis programas DOCXtoPDF para hacer lo que desee. DOCXtoPDF utiliza internamente xtopdf, mi kit de herramientas de Python para la creación de PDF desde muchos otros formatos. También necesita que se instale ReportLab 1.21.

Ver:

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

Vasudev Ram
fuente
0

Si desea un método en línea rápido y simple para 20 o menos archivos, use este sitio web en línea2pdf , aquí puede cargar sus archivos, elegir algunas opciones y luego hacer clic en convertir, convertirá todos los documentos y luego descargará automáticamente un solo archivo zip que contiene Los archivos PDF.

Ghos3t
fuente
0

A partir de la respuesta de Umar , aquí hay un script modificado de PowerShell que:

  • Procesar DOC y DOCX
  • Mostrar una barra de progreso mientras funciona

Al igual que con Umar, para usar esto:

  • guarde el script a continuación como un archivo, por ejemplo, doc2pdf.ps1en algún lugar de suPATH
  • cambie al directorio que contiene sus archivos doc o docx
  • correr 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

Probado con Word 2013 y PowerShell 4.0.

cxw
fuente