Batch mengonversi dokumen Word ke PDF

Jawaban:

24

Inilah yang akan saya lakukan:

  1. Unduh penulis CutePDF
  2. Tetapkan penulis sebagai printer default Anda (Anda dapat mengubahnya kembali nanti)
  3. Tempatkan semua file .doc Anda di folder yang sama
  4. Sorot semua file, klik kanan, Cetak

Satunya downside adalah bahwa Anda harus mengklik Ok sekali untuk setiap file.

Travis
sumber
3
Inilah yang sebenarnya saya lakukan. Saya harus melakukannya sedikit berbeda ... Saya membuka "Printer" CutePDF dari panel kontrol, jadi itu menunjukkan apa yang akan menjadi antrian printer ... Kemudian saya menyeret dan menjatuhkan dokumen ke jendela itu - dan kemudian itu semua berdebar pada ENTER untuk menerima nama file dari sana ... Mereka semua bernama MICROSOFT WORD - [filename] .pdf, tapi saya bisa menyelesaikannya dengan mudah.
Kjensen
Alur kerja yang sama dapat digunakan dengan PDFCreator ( en.pdfforge.org/pdfcreator ). Jika Anda menginstalnya sebagai layanan atau dalam mode otomatis, itu lepas kecuali untuk pilih> cetak.
matt wilkie
1
Jika saya menyorot lebih dari 15 file di Windows, opsi 'Cetak' hilang dari menu konteks klik kanan. Saya baru saja mencoba metode drag n drop, tetapi 94 file mungkin terlalu banyak untuk itu ...
Spacedman
41

Ini mungkin mendorongnya ke wilayah stackoverflow.com, tetapi Anda bisa skrip Word 2007 untuk membuka dan menyimpan dokumen sebagai PDF. Ini membutuhkan Office 2007 dan plug-in "Save as PDF" dari Microsoft.

Simpan ini ke file SaveAsPDF.jsdan jalankan dari baris perintah menggunakan 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
sumber
5
Kode di atas berfungsi dengan baik tetapi hanya membutuhkan satu file sebagai argumen. Saya terlalu malas untuk mencari cara untuk memfilter direktori dalam JScript, jadi saya membuat cara di Powershell menggunakan posting di bawah ini sebagai inspirasi: stackoverflow.com/questions/181036/… PS E: \ MyDocuments> ls * .doc | % {cscript // nologo E: \ jssrc \ SaveAsPDF.js $ _}
Aniti
@bobbymcr Tautan dalam jawaban sudah mati. Lihat di sini untuk SaveAsPDFunduhan plugin saat ini .
Peter Vandivier
9

well, cutepdf & pdf99 melakukan tugasnya dengan baik, tetapi saya menemukan PDFcreator lebih menarik karena 'mencetak lebih berkualitas daripada dua lainnya, ia juga memiliki lebih banyak opsi konfigurasi, plus open-source.

Tutul
sumber
1
PDFCreator dapat digunakan seperti dijawab oleh kjensen di atas, namun, saya ingin menunjukkan bahwa dalam opsi PDFCreator, Anda dapat mengaktifkan penyimpanan otomatis, yang secara otomatis akan menyimpan setiap dokumen di direktori yang Anda pilih dengan nama file pilihan Anda juga. . Dengan begitu Anda tidak perlu menekan "enter" untuk memverifikasi bahwa Anda ingin menyimpan setiap file.
6

Gunakan Google Docs sebagai Batch PDF Converter oleh Amit Agarwal

Jika Anda memiliki bundel besar Dokumen Word, Excel Spreadsheets, dan Presentasi PowerPoint pada hard drive Anda yang ingin Anda konversi menjadi PDF sekaligus tanpa berinvestasi dalam perangkat lunak komersial seperti Adobe Acrobat, coba Google Documents.

Meskipun selalu mungkin untuk mengubah dokumen Office menjadi PDF menggunakan Google Documents, fitur ekspor baru membuatnya lebih mudah bagi Anda untuk mengonversi batch format file Microsoft Office dan OpenOffice ke PDF (atau HTML) dalam tiga langkah mudah. Konversi Batch ke PDF dengan Google Documents

Gunakan Google Docs sebagai Batch PDF Converter

Langkah # 1 - Buat folder "input" baru di Google Documents tempat Anda akan mengunggah semua dokumen dan presentasi Anda yang akan dikonversi ke PDF.

Langkah # 2 - Sekarang pilih opsi Unggah Dokumen di Google Documents, tetapkan folder tujuan ke yang Anda buat di Langkah # 1 dan unggah * semua dokumen Anda.

Google Documents secara resmi mendukung format file berikut ini meskipun Anda juga dapat mengunggah gambar:

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

[*] Anda juga dapat menggunakan opsi email untuk mengunggah dokumen ke Google Documents, tetapi itu akan meletakkan semuanya di folder utama dan mengelola dokumen karena itu dapat menjadi masalah terutama ketika Anda memiliki terlalu banyak file.

Langkah # 3 - Setelah semua file diunggah ke Google Documents, buka dasbor lagi dan pilih folder "input" dari sidebar kanan. Pilih semua file di folder ini dan pilih "Ekspor" di bawah "Opsi Lainnya".

Berikut ini pilih "PDF" (atau HTML) sebagai format output dan semua Dokumen Word, presentasi, spreadsheet, dll. Anda akan langsung dikonversi ke PDF.

Dan jika Anda mengonversi banyak dokumen menjadi PDF, Anda tidak perlu menunggu di browser untuk menyelesaikan konversi karena Google Documents akan secara otomatis mengirimi Anda email setelah prosesnya selesai. Email akan memiliki tautan dari mana Anda dapat langsung mengunduh semua file PDF dalam satu ZIP besar.

Adrian
sumber
1
Bersiaplah untuk mangling signifikan dari dokumen apa pun yang berisi tabel, gambar, font yang kurang umum. Saya belum menyelami lebih jauh, tetapi saya mencoba dokumen kata dengan kop surat yang dibangun dengan tabel yang berisi teks dan grafik, dan menggunakan font Calibri. PDF tidak seperti aslinya.
rossmcm
Metode ini awalnya dari 2009 dan sayangnya tampaknya telah dihapus (file individual dapat diekspor sebagai pdf, tetapi folder tidak ...)
Joe
6

Jawaban Bobbymcr cukup menarik dan bekerja dengan baik dengan Word 2010. Namun, ada perbaikan yang harus dilakukan. Baris perintah asli Bobbymcr terlihat seperti ini:

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

Ini tidak berfungsi jika Anda telah menghubungkan file .js dengan beberapa jenis editor seperti Notepad ++. Dalam hal ini Anda juga harus menentukan mesin yang akan digunakan, jika tidak cscript akan menampilkan pesan kesalahan. Ini mudah dicapai dengan menggunakan //E:jscriptparameter baris perintah:

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

JC2k8
sumber
6

Mengenai skrip SaveAsPDF.js yang diposting pengguna sebelumnya. Ini berfungsi untuk mengonversi satu file pdf, tetapi saya tidak tahu bagaimana cara rahasia semua file dalam direktori. Dengan sedikit bermain saya membuat file. CovertAll2PDF.bat dengan 2 baris berikut:

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

ada juga /r "Parent Directory"yang dapat dimasukkan seperti /r "PD" %%X in -....yang akan melalui semua direktori, dalam hal ini buatlah C: \ SaveAsPDF.js dan simpan Saveaspdf.js di direktori itu.

Saya yakin itu canggung, tetapi itu berhasil untuk saya. Semoga ini bisa membantu seseorang.

Fallensoul
sumber
4

Saya belum mencobanya tetapi ada metode batch menggunakan OpenOffice.org yang dapat Anda uji. Petunjuk untuk melakukan ini pada platform GNU / Linux dan Windows dijelaskan padahttp://www.tech-faq.com/convert-word-to-pdf.shtml (dan juga dihttp://www.togaware.com/linux/survivor/Convert_MS_Word.html "dan, dihttp://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).

Prinsip menggunakan OpenOffice.org untuk membaca dalam file .doc dan kemudian mengekspornya dalam bentuk PDF sepertinya bagus jika Anda menemukan OpenOffice.org membuat pekerjaan yang wajar untuk membuka file .doc yang Anda miliki.

mas
sumber
1
Menggunakan OpenOffice.org akan memberi Anda daftar isi yang dapat diklik dan sebagainya. Solusi "Cetak ke PDF" tidak akan. Lihat superuser.com/questions/568/how-to-print-documents-to-pdf/…
Arjan
+1 untuk printer virtual pdf. Itu bagus, saya berharap mereka akan tersedia secara default di setiap OS.
Manu
4

Cuplikan kecil ini bekerja sangat baik untuk saya.

  • Bebas
  • Mudah
  • Tidak ada batasan jumlah file

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

Simpan saja ke skrip PowerShell Convert-Documents.ps1dan jalankan dari baris perintah di dalam folder tempat semua dokumen sumber Anda.

Umar Farooq Khawaja
sumber
Ada edit yang dilakukan oleh @cxw untuk jawaban saya, yang menghapus bagian penting dari jawaban saya, yaitu, fakta bahwa skrip tersebut freedapat dan dapat memproses serta unlimitedjumlah file. Karena itu, saya memutar kembali hasil edit, tetapi telah memasukkan perbaikan sintaks yang disarankan dalam hasil edit.
Umar Farooq Khawaja
Ini bekerja untuk saya di bawah Windows 7 ketika saya mengambil [ref]perintah dan baris terakhir ( $Word.Close()). Kalau tidak, kesalahan akan muncul.
loved.by.Yesus
0

Mengubah beberapa dokumen dari DOC ke PDF pada Windows XP menggunakan JODConverter dan Open Office

Prasyarat:


Langkah 1 Unduh JODConverter (versi terbaru jodconverter-2.2.2.zip) dari

Buka file zip JODConverter di direktori pilihan Anda (D1)


Langkah 2 Mulai OpenOffice dalam mode layanan (lebih detail di sini )

Buat file batch start-service.bat dengan konten berikut:

start-service.bat:

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

:: jika tidak berhasil coba hapus parameter terakhir ini (–nofirststartwizard)

(dengan asumsi X: \ Program Files \ OpenOffice.org 3 \ adalah direktori tempat Open Office diinstal dan soffice.exe hadir).

Jalankan start-service.bat (kantor terbuka sekarang dimulai dalam mode layanan dan menunggu perintah)


Langkah 3

Kumpulkan semua dokumen yang akan dikonversi ke pdf dalam direktori (D2)

Buat file batch convert.doc yang meluncurkan JODConverter dengan dan mengeluarkan instruksi konversi:

convert.bat:

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

di mana D1 adalah direktori JODConverter dibuat pada Langkah 1

(Jika JODConverter memiliki nomor versi lain, perbarui convert.bat yang sesuai)

PENTING: file convert.bat harus berada di direktori D2!


Langkah 4:

Jalankan convert.bat

Untuk setiap file * .doc yang ada di D2 JODConverter akan membutuhkan Open Office untuk membuat file baru dengan nama dan ekstensi pdf yang sama di direktori yang sama.

Adrian
sumber
0

Jika dokumen Word sederhana dan jika Anda tidak memerlukan pemformatan dokumen Word untuk hadir dalam dokumen PDF, Anda dapat menggunakan loop sederhana di sekitar kode inti program DOCXtoPDF saya, untuk melakukan apa yang Anda inginkan. DOCXtoPDF secara internal menggunakan xtopdf, toolkit Python saya untuk pembuatan PDF dari banyak format lain. Anda juga perlu menginstal ReportLab 1.21.

Lihat:

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

Jika Anda menginginkan metode online yang cepat dan sederhana untuk 20 file atau kurang kemudian gunakan situs web ini online2pdf , di sini Anda dapat mengunggah file Anda, pilih beberapa opsi lalu klik convert, itu akan mengonversi semua dokumen dan kemudian secara otomatis mengunduh satu file zip yang berisi file PDF.

Ghos3t
sumber
0

Membangun dari jawaban Umar , berikut ini adalah skrip PowerShell yang dimodifikasi yang akan:

  • Memproses DOC dan juga DOCX
  • Tampilkan bilah progres saat berfungsi

Seperti halnya Umar, untuk menggunakan ini:

  • simpan skrip di bawah ini sebagai file, mis. doc2pdf.ps1, di suatu tempat diPATH
  • ubah ke direktori yang berisi file doc atau docx Anda
  • menjalankan 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

Diuji dengan Word 2013 dan PowerShell 4.0.

cxw
sumber