Câu trả lời:
Đây là cách tôi sẽ làm điều đó:
Nhược điểm duy nhất là bạn phải bấm Ok một lần cho mỗi tệp.
Điều này có thể đang đẩy nó vào lãnh thổ stackoverflow.com, nhưng bạn có thể tập lệnh Word 2007 để mở và lưu tài liệu dưới dạng PDF. Điều này yêu cầu Office 2007 và bổ trợ "Lưu dưới dạng PDF" từ Microsoft.
Lưu tệp này vào một tệp SaveAsPDF.js
và chạy nó từ dòng lệnh bằng cách sử dụng 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();
}
}
SaveAsPDF
tải về plugin hiện tại .
tốt, cutepdf & pdf99 làm tốt công việc của họ, nhưng tôi thấy PDFcreator hấp dẫn hơn vì nó có chất lượng cao hơn hai bản kia, nó cũng có nhiều tùy chọn cấu hình hơn, cộng với đó là nguồn mở.
Sử dụng Google Docs làm Công cụ chuyển đổi hàng loạt PDF của Amit Agarwal
Nếu bạn có một gói lớn Tài liệu Word, Bảng tính Excel và Bản trình bày PowerPoint trên ổ cứng mà bạn muốn chuyển đổi thành PDF ngay lập tức mà không cần đầu tư vào phần mềm thương mại như Adobe Acrobat, hãy thử Google Docs.
Mặc dù luôn có thể chuyển đổi tài liệu Office thành PDF bằng Google Docs, tính năng xuất mới giúp bạn dễ dàng chuyển đổi các định dạng tệp Microsoft Office và OpenOffice thành PDF (hoặc HTML) theo ba bước dễ dàng. Chuyển đổi hàng loạt sang PDF bằng Google Docs
Sử dụng Google Docs làm công cụ chuyển đổi hàng loạt PDF
Bước # 1 - Tạo một mới "đầu vào" thư mục trong Google Documents nơi bạn sẽ tải lên tất cả các tài liệu và bài thuyết trình của bạn mà là để chuyển đổi sang PDF.
Bước # 2 - Bây giờ chọn tùy chọn Tải lên Tài liệu trong Google Documents, đặt thư mục đích thành thư mục bạn đã tạo ở Bước # 1 và tải lên * tất cả tài liệu của bạn.
Google Docs chính thức hỗ trợ các định dạng tệp sau mặc dù bạn cũng có thể tải lên hình ảnh:
* Microsoft PowerPoint (.ppt, .pps).
* Microsoft Word (.doc, .docx), OpenDocument (.odt) and StarOffice (.sxw).
* Microsoft Excel (csv, .xls, .xlsx) files and OpenDocument Spreadsheet (.ods).
[*] Bạn cũng có thể sử dụng tùy chọn email để tải tài liệu lên Google Docs nhưng điều đó sẽ đặt mọi thứ vào thư mục chính và do đó việc quản lý tài liệu có thể trở thành vấn đề, đặc biệt là khi bạn có quá nhiều tệp.
Bước # 3 - Khi tất cả các tệp được tải lên Google Docs, hãy mở lại bảng điều khiển và chọn thư mục "đầu vào" từ thanh bên phải. Chọn tất cả các tệp trong thư mục này và chọn "Xuất" trong "Tùy chọn khác".
Ở đây chọn "PDF" (hoặc HTML) làm định dạng đầu ra và tất cả Tài liệu Word, bản trình bày, bảng tính, v.v. của bạn sẽ được chuyển đổi ngay lập tức thành PDF.
Và nếu bạn đang chuyển đổi một lô lớn tài liệu thành PDF, bạn không phải đợi trong trình duyệt để quá trình chuyển đổi kết thúc vì Google Docs sẽ tự động gửi email cho bạn sau khi quá trình xử lý kết thúc. Email sẽ có một liên kết từ đó bạn có thể tải trực tiếp tất cả các tệp PDF trong một ZIP lớn.
Câu trả lời của Bobbymcr khá thú vị và hoạt động tốt với Word 2010. Tuy nhiên, vẫn còn một sự cải tiến cần thực hiện. Dòng lệnh ban đầu của Bobbymcr trông như thế này:
cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Điều này không hoạt động nếu bạn đã liên kết các tệp .js với một số loại trình soạn thảo như Notepad ++. Trong trường hợp này, bạn cũng phải chỉ định công cụ sẽ sử dụng, nếu không cscript sẽ hiển thị cho bạn một thông báo lỗi. Điều này có thể dễ dàng đạt được bằng cách sử dụng //E:jscript
tham số dòng lệnh:
cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Về tập lệnh SaveAsPDF.js mà người dùng trước đã đăng. Điều này làm việc để chuyển đổi một tập tin pdf, nhưng tôi không biết làm thế nào để chuyển đổi tất cả các tập tin trong một thư mục. Với một chút chơi tôi đã tạo ra một tập tin. CovertAll2PDF.bat với 2 dòng sau:
echo off
for %%X in (*.doc) do cscript.exe //nologo SaveAsPDF.js "%%X"
cũng có những /r "Parent Directory"
cái có thể được chèn vào để /r "PD" %%X in -....
đi qua tất cả các thư mục, trong trường hợp đó làm cho nó C: \ SaveAsPDF.js và lưu Saveaspdf.js trong thư mục đó.
Tôi chắc chắn rằng nó vụng về, nhưng nó làm việc cho tôi. hy vọng điều này sẽ giúp ai đó.
Tôi đã không thử nó nhưng có một phương pháp bó sử dụng OpenOffice.org mà bạn có thể kiểm tra. Hướng dẫn thực hiện việc này trên nền tảng GNU / Linux và Windows được mô tả tạihttp://www.tech-faq.com/convert-word-to-pdf.shtml (và cũng tạihttp://www.togkn.com/linux/survivor/Convert_MS_Word.html "và, tạihttp://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).
Nguyên tắc sử dụng OpenOffice.org để đọc trong tệp .doc và sau đó xuất dưới dạng PDF có vẻ hợp lý nếu bạn thấy OpenOffice.org giúp mở rộng các tệp .doc mà bạn có.
Đoạn trích nhỏ này làm việc rất tốt cho tôi.
Không giới hạn số lượng tệp
$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()
Chỉ cần lưu nó vào tập lệnh PowerShell như Convert-Documents.ps1
sau đó chạy nó từ dòng lệnh từ trong thư mục chứa tất cả các tài liệu nguồn của bạn.
free
có thể xử lý và unlimited
số lượng tệp. Như vậy, tôi đã khôi phục lại bản chỉnh sửa, nhưng đã kết hợp sửa lỗi cú pháp được đề xuất trong chỉnh sửa.
[ref]
các lệnh và dòng cuối cùng ( $Word.Close()
). Nếu không, lỗi xuất hiện.
Chuyển đổi nhiều tài liệu từ DOC sang PDF trên Windows XP bằng JODConverter và Open Office
Điều kiện tiên quyết:
Bước 1 Tải xuống JODConverter (phiên bản mới nhất jodconverter-2.2.2.zip) từ
Giải nén tệp zip JODConverter trong thư mục bạn chọn (D1)
Bước 2 Khởi động OpenOffice trong chế độ dịch vụ (chi tiết tại đây )
Tạo một tệp bó start-service.bat với nội dung sau:
start-service.bat:
X:\Program Files\OpenOffice.org 3\program\soffice.exe -headless
-accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard
:: nếu không hoạt động, hãy thử xóa tham số cuối cùng này (Nhậnnofirststartwizard)
(giả sử X: \ Program Files \ OpenOffice.org 3 \ là thư mục nơi Open Office được cài đặt và soffice.exe có mặt).
Chạy start-service.bat (văn phòng mở hiện đã bắt đầu ở chế độ dịch vụ và đang chờ lệnh)
Bước 3
Thu thập tất cả các tài liệu sẽ được chuyển đổi thành pdf trong một thư mục (D2)
Tạo một tập tin convert.doc hàng loạt để khởi chạy JODConverter và đưa ra các hướng dẫn chuyển đổi:
convert.bat:
java -jar "<D1>\lib\jodconverter-cli-2.2.2.jar" -f pdf *.doc
Trong đó D1 là thư mục JODConverter được tạo ở Bước 1
(Nếu JODConverter có số phiên bản khác, hãy cập nhật convert.bat tương ứng)
QUAN TRỌNG: tập tin convert.bat phải được đặt trong thư mục D2!
Bước 4:
Chạy convert.bat
Đối với mỗi tệp * .doc có trong D2 JODConverter sẽ yêu cầu Open Office để tạo một tệp mới có cùng tên và phần mở rộng pdf trong cùng thư mục.
Nếu tài liệu Word đơn giản và nếu bạn không cần định dạng của tài liệu Word để có trong tài liệu PDF, bạn có thể sử dụng một vòng lặp đơn giản xung quanh mã lõi của chương trình DOCXtoPDF của tôi để làm những gì bạn muốn. DOCXtoPDF sử dụng nội bộ xtopdf, bộ công cụ Python của tôi để tạo PDF từ nhiều định dạng khác. Bạn cũng cần cài đặt ReportLab 1.21.
Xem:
http://jugad2.blogspot.in/2013/10/convert-microsoft-word-files-to-pdf.html
http://slid.es/vasudevram/xtopdf
Nếu bạn muốn một phương pháp trực tuyến nhanh chóng và đơn giản cho 20 tệp hoặc ít hơn thì hãy sử dụng trang web này online2pdf , tại đây bạn có thể tải lên các tệp của mình, chọn một số tùy chọn và sau đó nhấp vào chuyển đổi, nó sẽ chuyển đổi tất cả các tài liệu và sau đó tự động tải xuống một tệp zip chứa các tập tin PDF.
Dựa trên câu trả lời của Umar , đây là tập lệnh PowerShell được sửa đổi sẽ:
Như với Umar, để sử dụng điều này:
doc2pdf.ps1
ở đâu đó trongPATH
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
Đã thử nghiệm với Word 2013 và PowerShell 4.0.