Word-Dokumente im Stapelverfahren in PDFs konvertieren
Wie kann ich viele Word-Dokumente stapelweise konvertieren und als [Originaldateiname].pdf speichern lassen?
Wie kann ich viele Word-Dokumente stapelweise konvertieren und als [Originaldateiname].pdf speichern lassen?
Dies könnte den Rahmen von stackoverflow.com sprengen, aber Sie können Word 2007 skripten, um ein Dokument als PDF zu öffnen und zu speichern. Dazu benötigen Sie Office 2007 und das “Als PDF speichern”-Plugin von Microsoft.
Speichern Sie dies in einer Datei SaveAsPDF.js
und führen Sie es über die Befehlszeile mit cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
aus:
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();
}
}
So würde ich es machen:
Der einzige Nachteil ist, dass Sie für jede Datei einmal auf Ok klicken müssen.
Nun, cutepdf & pdf99 machen ihre Arbeit gut, aber ich finde PDFcreator ansprechender, da es in höherer Qualität als die anderen beiden “druckt”, es hat auch mehr Konfigurationsmöglichkeiten, außerdem ist es Open-Source.
Verwenden Sie Google Docs als Batch-PDF-Konvertervon Amit Agarwal
Wenn Sie ein großes Bündel von Word-Dokumenten, Excel-Tabellen und PowerPoint-Präsentationen auf Ihrer Festplatte haben, die Sie auf einmal in PDF konvertieren möchten, ohne in kommerzielle Software wie Adobe Acrobat zu investieren, versuchen Sie Google Docs.
Während es schon immer möglich war, Office-Dokumente mit Google Text & Tabellen in PDF zu konvertieren, macht die neue Exportfunktion die Stapelkonvertierung von Microsoft Office- und OpenOffice-Dateiformaten in PDF (oder HTML) in drei einfachen Schritten noch einfacher für Sie. Stapelkonvertierung in PDF mit Google Text & Tabellen
Verwenden Sie Google Text & Tabellen als Batch-PDF-Konverter
Schritt 1 - Erstellen Sie einen neuen “Eingabe”-Ordner in Google Text & Tabellen, in den Sie alle Ihre Dokumente und Präsentationen hochladen, die in PDF konvertiert werden sollen.
Schritt #2 - Wählen Sie nun die Option “Dokument hochladen” in Google Text & Tabellen, setzen Sie den Zielordner auf den, den Sie in Schritt #1 erstellt haben und laden Sie alle Ihre Dokumente hoch.
Google Docs unterstützt offiziell die folgenden Dateiformate, Sie können aber auch Bilder hochladen:
* Microsoft PowerPoint (.ppt, .pps).
* Microsoft Word (.doc, .docx), OpenDocument (.odt) and StarOffice (.sxw).
* Microsoft Excel (csv, .xls, .xlsx) files and OpenDocument Spreadsheet (.ods).
[*] Sie können auch die E-Mail-Option verwenden, um Dokumente in Google Text & Tabellen hochzuladen, aber das würde alles in den Hauptordner legen und die Verwaltung der Dokumente kann daher zu einem Problem werden, besonders wenn Sie zu viele Dateien haben.
Schritt #3 - Sobald alle Dateien auf Google Docs hochgeladen sind, öffnen Sie das Dashboard erneut und wählen Sie den Ordner “input” in der rechten Seitenleiste aus. Markieren Sie alle Dateien in diesem Ordner und wählen Sie “Exportieren” unter “Weitere Optionen”.
Hier wählen Sie “PDF” (oder HTML) als Ausgabeformat und alle Ihre Word-Dokumente, Präsentationen, Tabellenkalkulationen usw. werden sofort in PDF umgewandelt.
Und wenn Sie einen großen Stapel von Dokumenten in PDF konvertieren, müssen Sie nicht im Browser warten, bis die Konvertierung abgeschlossen ist, da Google Docs Ihnen automatisch eine E-Mail schickt, sobald die Verarbeitung abgeschlossen ist. Die E-Mail enthält einen Link, über den Sie alle PDF-Dateien direkt in einer großen ZIP-Datei herunterladen können.
Bezüglich des SaveAsPDF.js-Skripts, das ein früherer Benutzer gepostet hat. Dies funktionierte für die Konvertierung einer pdf-Datei, aber ich wusste nicht, wie man alle Dateien in einem Verzeichnis umwandeln kann. Mit ein wenig Spielerei habe ich eine Datei erstellt. CovertAll2PDF.bat mit den folgenden 2 Zeilen:
echo off
for %%X in (*.doc) do cscript.exe //nologo SaveAsPDF.js "%%X"
Es gibt auch die /r "Parent Directory"
, die man als für /r "PD" %%X in -....
einfügen kann, die durch alle Verzeichnisse geht, in diesem Fall machen Sie es C:\SaveAsPDF.js und speichern Saveaspdf.js in diesem Verzeichnis.
Ich bin sicher, dass es ungeschickt ist, aber es hat bei mir funktioniert. ich hoffe, das hilft jemandem.
Die Antwort von Bobbymcr ist ziemlich interessant und funktioniert gut mit Word 2010. Trotzdem gibt es noch eine Verbesserung zu machen. Bobbymcrs ursprüngliche Befehlszeile sieht wie folgt aus:
cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Das funktioniert nicht, wenn Sie .js-Dateien mit einer Art Editor wie Notepad++ verknüpft haben. In diesem Fall müssen Sie auch die zu verwendende Engine angeben, sonst zeigt cscript eine Fehlermeldung an. Dies lässt sich leicht mit dem Befehlszeilenparameter //E:jscript
erreichen:
cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Dieses kleine Snippet hat bei mir sehr gut funktioniert.
Speichern Sie es einfach in einem PowerShell-Skript wie Convert-Documents.ps1
und führen Sie es dann über die Befehlszeile aus dem Ordner aus, in dem sich alle Ihre Quelldokumente befinden.
Ich habe es nicht ausprobiert, aber es gibt eine Batch-Methode mit OpenOffice.org, die Sie testen könnten. Anleitungen dazu auf GNU/Linux- und Windows-Plattformen sind unter http://www.tech-faq.com/convert-word-to-pdf.shtml (und auch unter http://www.togaware.com/linux/survivor/Convert_MS_Word.html “ und unter http://www.oooforum.org/forum/viewtopic.phtml?t=3772 ) beschrieben.
Das Prinzip, OpenOffice.org zu verwenden, um die .doc-Datei einzulesen und sie dann als PDF zu exportieren, scheint vernünftig zu sein, wenn Sie feststellen, dass OpenOffice.org die vorhandenen .doc-Dateien vernünftig öffnet.
Eine etwas einfachere Alternative im Vergleich zu den oben genannten Powershell-, Batch- und Windows-Script-Host-Skripten ist das Tool docx2pdf
, das sowohl unter Windows als auch unter MacOS funktioniert: https://github.com/AlJohri/docx2pdf/
Ähnlich wie die anderen Antworten verwendet dieser Ansatz win32com unter Windows und JXA (Javscript for Automation, im Grunde AppleScript in JS) unter macOS. Allerdings ist es in ein leicht installierbares und für die Batch-Konvertierung vorbereitetes Paket mit einem Fortschrittsbalken verpackt.
Installieren:
pip install docx2pdf
Ausführen:
docx2pdf myFolderOfWordDocs
Haftungsausschluss: Ich habe dieses Tool geschrieben, nachdem ich Schwierigkeiten hatte, eine plattformübergreifende Lösung für die Stapelkonvertierung von docx in pdf ohne Formatierungsprobleme zu finden, da es direkt Microsoft Word verwendet.
Mehrere Dokumente von DOC in PDF konvertieren unter Windows XP mit JODConverter und Open Office
Voraussetzungen:
Schritt 1 JODConverter herunterladen (neueste Version jodconverter-2. 2.2.zip) von
Entpacken Sie die JODConverter-Zip-Datei in ein Verzeichnis Ihrer Wahl (D1)
Schritt 2 Starten Sie OpenOffice im Servicemodus (mehr dazu hier )
Erstellen Sie eine Batch-Datei start-service.bat mit folgendem Inhalt:
start-service.bat:
X:\Program Files\OpenOffice.org 3\program\soffice.exe -headless
-accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard
::wenn es nicht funktioniert, versuchen Sie, den letzten Parameter (-nofirststartwizard) zu entfernen
(unter der Annahme, dass X:\Programme\OpenOffice.org 3\ das Verzeichnis ist, in dem Open Office installiert ist und soffice.exe vorhanden ist).
Run start-service.bat (Open Office wird nun im Servicemodus gestartet und wartet auf Befehle)
Schritt 3
Sammeln Sie alle Dokumente, die in pdf konvertiert werden sollen, in einem Verzeichnis (D2)
Erstellen Sie eine Batch-Datei convert.doc, mit der JODConverter gestartet wird und die Konvertierungsanweisungen ausgegeben werden:
convert.bat:
java -jar "<D1>\lib\jodconverter-cli-2.2.2.jar" -f pdf *.doc
wobei D1 das in Schritt 1 erstellte JODConverter-Verzeichnis ist
(Wenn JODConverter eine andere Versionsnummer hat, convert.bat entsprechend aktualisieren)
WICHTIG: Datei convert.bat muss sich im Verzeichnis D2 befinden !
Schritt 4:
Run convert.bat
Für jede *.doc-Datei, die in D2 vorhanden ist, fordert JODConverter Open Office auf, eine neue Datei mit demselben Namen und der Erweiterung pdf im selben Verzeichnis zu erstellen.
Wenn Sie eine schnelle und einfache Online-Methode für 20 oder weniger Dateien wünschen, dann verwenden Sie diese Website online2pdf , hier können Sie Ihre Dateien hochladen, einige Optionen auswählen und dann auf “Konvertieren” klicken, es wird alle Dokumente konvertieren und dann automatisch eine einzelne Zip-Datei herunterladen, die die PDF-Dateien enthält.
Wenn die Word-Dokumente einfach sind und Sie die Formatierung der Word-Dokumente nicht in den PDF-Dokumenten benötigen, können Sie eine einfache Schleife um den Kerncode meines DOCXtoPDF-Programms verwenden, um das zu tun, was Sie wollen. DOCXtoPDF verwendet intern xtopdf, mein Python-Toolkit für die PDF-Erstellung aus vielen anderen Formaten. Sie müssen außerdem ReportLab 1.21 installiert haben.
Siehe: 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
Aufbauend auf Umars Antwort , ist hier ein modifiziertes PowerShell-Skript, das Folgendes tut:
Wie bei Umar, um dies zu verwenden:
doc2pdf.ps1
, irgendwo in Ihrem PATH
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
aus Getestet mit Word 2013 und PowerShell 4.0.