Batch-Konvertierung von Word-Dokumenten in PDFs

Antworten:

24

So würde ich es machen:

  1. Laden Sie den CutePDF-Writer herunter
  2. Legen Sie den Writer als Standarddrucker fest (Sie können ihn später wieder ändern).
  3. Platzieren Sie alle Ihre DOC-Dateien im selben Ordner
  4. Markieren Sie alle Dateien, klicken Sie mit der rechten Maustaste auf Drucken

Der einzige Nachteil ist, dass Sie für jede Datei einmal auf OK klicken müssen.

Travis
quelle
3
Das habe ich tatsächlich getan. Ich musste es allerdings etwas anders machen ... Ich öffne den CutePDF "Drucker" über das Bedienfeld, so dass die Druckerwarteschlange angezeigt wird ... Dann habe ich die Dokumente in dieses Fenster gezogen und dort abgelegt - und dann Es drückte alle auf ENTER, um den Dateinamen von dort zu akzeptieren ... Sie hießen alle MICROSOFT WORD - [Dateiname] .pdf, aber das kann ich leicht lösen.
Kjensen
Derselbe Workflow kann mit PDFCreator ( en.pdfforge.org/pdfcreator ) verwendet werden. Wenn Sie es als Dienst oder im automatischen Modus installieren, müssen Sie nur> Drucken auswählen.
Matt Wilkie
1
Wenn ich in Windows mehr als 15 Dateien markiere, wird die Option "Drucken" aus dem Kontextmenü mit der rechten Maustaste entfernt. Ich habe gerade die Drag & Drop-Methode ausprobiert, aber 94 Dateien könnten einfach zu viel sein ...
Spacedman
41

Dies könnte dazu führen, dass das Dokument in stackoverflow.com verschoben wird, Sie könnten jedoch Word 2007 als Skript ausführen, um ein Dokument als PDF zu öffnen und zu speichern. Dies erfordert Office 2007 und das Plug-In "Als PDF speichern" von Microsoft.

Speichern Sie dies in einer Datei SaveAsPDF.jsund führen Sie es über die Befehlszeile aus 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
quelle
5
Der obige Code funktioniert hervorragend, es wird jedoch nur eine Datei als Argument verwendet. Ich war zu faul, um nach einer Möglichkeit zum Filtern eines Verzeichnisses in JScript zu suchen, also habe ich eine Möglichkeit in Powershell ausgearbeitet , wobei ich den folgenden Beitrag als Inspiration verwendet habe: stackoverflow.com/questions/181036/… PS E: \ MyDocuments> ls * .doc | % {cscript // nologo E: \ jssrc \ SaveAsPDF.js $ _}
Aniti
@ Bobbymcr Link in Antwort ist tot. Hier finden Sie den aktuellen SaveAsPDFPlugin-Download.
Peter Vandivier
9

Nun, cutepdf & pdf99 machen ihre Arbeit gut, aber ich finde PDFcreator ansprechender, da es in höherer Qualität gedruckt wird als die beiden anderen, es hat auch mehr Konfigurationsoptionen und es ist Open-Source.

Tutul
quelle
1
PDFCreator kann wie oben von kjensen beantwortet verwendet werden. Ich möchte jedoch darauf hinweisen, dass Sie in den PDFCreator-Optionen das automatische Speichern aktivieren können, wodurch jedes Dokument automatisch in dem Verzeichnis Ihrer Wahl mit dem Dateinamen Ihrer Wahl gespeichert wird . Auf diese Weise müssen Sie nicht die Eingabetaste drücken, um zu bestätigen, dass Sie jede Datei speichern möchten.
6

Verwenden Sie Google Text & Tabellen als Batch PDF Converter von Amit Agarwal

Wenn Sie ein großes Bündel von Word-Dokumenten, Excel-Tabellen und PowerPoint-Präsentationen auf Ihrer Festplatte haben, die Sie ohne Investition in kommerzielle Software wie Adobe Acrobat sofort in PDF konvertieren möchten, probieren Sie Google Text & Tabellen aus.

Während es immer möglich war, Office-Dokumente mit Google Docs in PDF zu konvertieren, können Sie mit der neuen Exportfunktion Microsoft Office- und OpenOffice-Dateiformate in drei einfachen Schritten stapelweise in PDF (oder HTML) konvertieren. Stapelkonvertierung in PDF mit Google Text & Tabellen

Verwenden Sie Google Text & Tabellen als Batch PDF Converter

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 jetzt die Option "Dokument hochladen" in Google Text & Tabellen aus, legen Sie den Zielordner auf den in Schritt 1 erstellten fest und laden Sie * alle Ihre Dokumente hoch.

Google Text & Tabellen unterstützt offiziell die folgenden Dateiformate, Sie können jedoch 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. Dadurch wird jedoch alles in den Hauptordner verschoben, und das Verwalten von Dokumenten kann zu einem Problem werden, insbesondere wenn Sie zu viele Dateien haben.

Schritt 3 - Nachdem alle Dateien in Google Text & Tabellen hochgeladen wurden, ö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".

Wählen Sie hier "PDF" (oder HTML) als Ausgabeformat, und alle Ihre Word-Dokumente, Präsentationen, Tabellenkalkulationen usw. werden sofort in PDF konvertiert.

Wenn Sie eine große Menge 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 sendet, sobald die Verarbeitung abgeschlossen ist. Die E-Mail enthält einen Link, über den Sie alle PDF-Dateien in einer großen ZIP-Datei direkt herunterladen können.

Adrian
quelle
1
Seien Sie darauf vorbereitet, dass Dokumente, die Tabellen, Bilder und weniger verbreitete Schriftarten enthalten, erheblich beschädigt werden. Ich habe mich nicht weiter damit befasst, aber ich habe versucht, ein Word-Dokument mit einem Briefkopf zu erstellen, der aus einer Tabelle mit Text und einer Grafik besteht und die Calibri-Schriftart verwendet. Das PDF war nichts wie das Original.
Rossmcm
Diese Methode stammt ursprünglich aus dem Jahr 2009 und scheint leider entfernt worden zu sein (einzelne Dateien können als PDF exportiert werden, Ordner jedoch nicht ...)
Joe
6

Die Antwort von Bobbymcr ist ziemlich interessant und funktioniert gut mit Word 2010. Dennoch muss noch eine Verbesserung vorgenommen werden. Die ursprüngliche Befehlszeile von Bobbymcr sieht folgendermaßen aus:

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

Dies funktioniert nicht, wenn Sie .js-Dateien mit einem Editor wie Notepad ++ verknüpft haben. In diesem Fall müssen Sie auch die zu verwendende Engine angeben, andernfalls zeigt cscript eine Fehlermeldung an. Dies kann einfach mit dem //E:jscriptBefehlszeilenparameter erreicht werden:

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

JC2k8
quelle
6

In Bezug auf das Skript SaveAsPDF.js, das ein vorheriger Benutzer gepostet hat. Dies funktionierte für die Konvertierung einer PDF-Datei, aber ich wusste nicht, wie man alle Dateien in einem Verzeichnis versteckt. Mit ein wenig Spiel 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 eingefügt werden können, da für /r "PD" %%X in -....die alle Verzeichnisse durchsucht werden. In diesem Fall müssen Sie die Datei C: \ SaveAsPDF.js erstellen und Saveaspdf.js in diesem Verzeichnis speichern.

Ich bin sicher, es ist ungeschickt, aber es hat bei mir funktioniert. hoffe das hilft jemandem.

Fallensoul
quelle
4

Ich habe es nicht ausprobiert, aber es gibt eine Batch-Methode mit OpenOffice.org, die Sie testen können. Anweisungen dazu auf GNU / Linux- und Windows-Plattformen finden Sie unterhttp://www.tech-faq.com/convert-word-to-pdf.shtml (und auch beihttp://www.togaware.com/linux/survivor/Convert_MS_Word.html "und unterhttp://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).

Das Prinzip, OpenOffice.org zum Einlesen der DOC-Datei und zum anschließenden Exportieren als PDF zu verwenden, scheint richtig zu sein, wenn Sie feststellen, dass OpenOffice.org das Öffnen der DOC-Dateien zum Kinderspiel macht.

mas
quelle
1
Wenn Sie OpenOffice.org verwenden, erhalten Sie ein anklickbares Inhaltsverzeichnis und so weiter. Eine "Print to PDF" -Lösung kann dies nicht. Siehe superuser.com/questions/568/how-to-print-documents-to-pdf/…
Arjan
+1 für virtuelle PDF-Drucker. Diese sind großartig, ich wünschte, sie wären standardmäßig auf jedem Betriebssystem verfügbar.
Manu
4

Dieser kleine Ausschnitt hat für mich sehr gut funktioniert.

  • Frei
  • Einfach
  • Keine Begrenzung der Anzahl von Dateien

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

Speichern Sie es einfach in einem PowerShell-Skript wie Convert-Documents.ps1und führen Sie es über die Befehlszeile in dem Ordner aus, in dem sich alle Quelldokumente befinden.

Umar Farooq Khawaja
quelle
Meine Antwort wurde von @cxw bearbeitet, wodurch wesentliche Teile meiner Antwort entfernt wurden, nämlich die Tatsache, dass das Skript Dateien enthält freeund verarbeiten kann und die unlimitedAnzahl der Dateien. Aus diesem Grund habe ich die Bearbeitung zurückgesetzt, jedoch die in der Bearbeitung vorgeschlagene Syntaxkorrektur übernommen.
Umar Farooq Khawaja
Bei mir hat es unter Windows 7 funktioniert, als ich die [ref]Befehle und die letzte Zeile ( $Word.Close()) weggenommen habe. Ansonsten sind Fehler aufgetreten.
loved.by.Jesus
0

Konvertieren mehrerer Dokumente von DOC nach PDF unter Windows XP mit JODConverter und Open Office

Voraussetzungen:


Schritt 1 Laden Sie JODConverter (neueste Version jodconverter-2.2.2.zip) von herunter

Dekomprimieren Sie die JODConverter-Zip-Datei in einem Verzeichnis Ihrer Wahl (D1)


Schritt 2 OpenOffice im Servicemodus starten (weitere Details 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, entfernen Sie diesen letzten Parameter (–nofirststartwizard)

(Unter der Annahme, dass X: \ Programme \ OpenOffice.org 3 \ das Verzeichnis ist, in dem Open Office installiert ist und soffice.exe vorhanden ist).

Führen Sie start-service.bat aus (Open Office wird jetzt im Servicemodus gestartet und wartet auf Befehle).


Schritt 3

Sammeln Sie alle zu konvertierenden Dokumente in einem Verzeichnis (D2)

Erstellen Sie eine Batch-Datei convert.doc, mit der JODConverter gestartet wird, und geben Sie die Konvertierungsanweisungen ein:

convert.bat:

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

Dabei ist D1 das in Schritt 1 erstellte JODConverter-Verzeichnis

(Wenn JODConverter eine andere Versionsnummer hat, aktualisieren Sie convert.bat entsprechend.)

WICHTIG: Die Datei convert.bat muss sich im D2-Verzeichnis befinden!


Schritt 4:

Führen Sie convert.bat aus

Für jede in D2 vorhandene * .doc-Datei muss Open Office von JODConverter eine neue Datei mit demselben Namen und derselben PDF-Erweiterung im selben Verzeichnis erstellen.

Adrian
quelle
0

Wenn die Word-Dokumente einfach sind und die Formatierung der Word-Dokumente nicht in den PDF-Dokumenten enthalten sein muss, können Sie den Kerncode meiner DOCXtoPDF-Programme in einer einfachen Schleife umlaufen, um das zu tun, was Sie wollen. DOCXtoPDF verwendet intern xtopdf, mein Python-Toolkit für die PDF-Erstellung aus vielen anderen Formaten. Außerdem muss ReportLab 1.21 installiert sein.

Sehen:

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
quelle
0

Wenn Sie eine schnelle und einfache Online-Methode für 20 oder weniger Dateien wünschen , können Sie diese Website online2pdf verwenden . Hier können Sie Ihre Dateien hochladen, einige Optionen auswählen und dann auf "Konvertieren" klicken. Alle Dokumente werden konvertiert und anschließend automatisch eine einzelne Zip-Datei mit dem Inhalt heruntergeladen die PDF-Dateien.

Ghos3t
quelle
0

Aufbauend auf der Antwort von Umar finden Sie hier ein modifiziertes PowerShell-Skript, das Folgendes bewirkt:

  • Verarbeiten Sie sowohl DOC als auch DOCX
  • Zeigt einen Fortschrittsbalken an, wie es funktioniert

Wie bei Umar, um dies zu verwenden:

  • Speichern Sie das folgende Skript als Datei, z. B. doc2pdf.ps1irgendwo in IhremPATH
  • Wechseln Sie in das Verzeichnis, in dem sich Ihre doc- oder docx-Dateien befinden
  • Lauf 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

Getestet mit Word 2013 und PowerShell 4.0.

cxw
quelle