Відповіді:
Ось як я це зробив би:
Єдиним недоліком є те, що вам потрібно один раз натиснути Ок для кожного файлу.
Це може підштовхнути його до території stackoverflow.com, але ви можете скриптувати Word 2007, щоб відкрити та зберегти документ у форматі PDF. Для цього потрібен Office 2007 та плагін "Зберегти як PDF" від Microsoft.
Збережіть це у файлі SaveAsPDF.js
та запустіть його з командного рядка, використовуючи 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
завантаження поточного плагіна.
добре, cutepdf та pdf99 роблять свою роботу добре, але я вважаю PDFcreator більш привабливим, оскільки він друкує більш високу якість, ніж інші два, він також має більше варіантів конфігурації, плюс це відкритий код.
Використовуйте Google Документи як пакетний PDF Converter від Amit Agarwal
Якщо на вашому жорсткому диску є величезна група документів Word, електронних таблиць Excel та презентацій PowerPoint, які ви хочете одразу перетворити в PDF, не вкладаючи в комерційне програмне забезпечення, наприклад Adobe Acrobat, спробуйте Google Docs.
Хоча завжди можна було конвертувати документи Office у PDF за допомогою Документів Google, нова функція експорту полегшує вам пакетне перетворення форматів файлів Microsoft Office та OpenOffice у PDF (або HTML) у три простих кроки. Пакетне перетворення в PDF за допомогою Документів Google
Використовуйте Google Документи як пакетний конвертер PDF
Крок №1. Створіть нову папку "введення" в Документах Google, куди ви завантажуєте всі свої документи та презентації, які потрібно перетворити в PDF.
Крок №2. Тепер виберіть параметр "Завантажити документ" у Документах Google, встановіть цільову папку на ту, яку ви створили на кроці №1, і завантажте * всі свої документи.
Google Docs офіційно підтримує такі формати файлів, хоча ви також можете завантажувати зображення:
* Microsoft PowerPoint (.ppt, .pps).
* Microsoft Word (.doc, .docx), OpenDocument (.odt) and StarOffice (.sxw).
* Microsoft Excel (csv, .xls, .xlsx) files and OpenDocument Spreadsheet (.ods).
[*] Ви також можете скористатися опцією електронної пошти для завантаження документів у Google Документи, але це покладе все на головну папку, а керування документами може стати проблемою, особливо якщо у вас занадто багато файлів.
Крок №3. Після завантаження всіх файлів на Google Документи відкрийте панель приладів знову та виберіть папку "введення" на правій бічній панелі. Виберіть усі файли в цій папці та виберіть "Експорт" у розділі "Додаткові параметри".
Тут виберіть "PDF" (або HTML) як вихідний формат, і всі ваші Word документи, презентації, електронні таблиці тощо будуть негайно перетворені в PDF.
Якщо ви перетворюєте велику партію документів у PDF, вам не доведеться чекати у веб-переглядачі, коли конверсія завершиться, оскільки документи Google автоматично відправлять вам електронний лист, коли обробка закінчиться. Електронний лист матиме посилання, звідки ви можете безпосередньо завантажити всі файли PDF в одному великому ZIP.
Відповідь Bobbymcr є досить цікавою і добре працює з Word 2010. Але все-таки слід покращити. Оригінальний командний рядок Bobbymcr виглядає так:
cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Це не працює, якщо ви пов’язали файли .js з таким редактором, як Notepad ++. У цьому випадку вам також потрібно вказати двигун, який слід використовувати, інакше cscript покаже вам повідомлення про помилку. Це легко досягти за допомогою параметра //E:jscript
командного рядка:
cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Стосовно сценарію SaveAsPDF.js, який публікував попередній користувач. Це працювало для перетворення одного pdf-файлу, але я не знав, як приховати всі файли в каталозі. Трохи граючи я створив файл. CovertAll2PDF.bat із наступними 2 рядками:
echo off
for %%X in (*.doc) do cscript.exe //nologo SaveAsPDF.js "%%X"
є також те, /r "Parent Directory"
що можна вставити, як для /r "PD" %%X in -....
цього буде проходити всі каталоги, в цьому випадку зробіть це C: \ SaveAsPDF.js і збережіть Saveaspdf.js у цьому каталозі.
Я впевнений, що це незграбно, але він працював на мене. сподіваюся, що це комусь допоможе.
Я не пробував цього, але є пакетний метод, що використовує OpenOffice.org, який ви можете протестувати. Інструкції щодо цього на платформах GNU / Linux та Windows, описаних наhttp://www.tech-faq.com/convert-word-to-pdf.shtml (а також наhttp://www.togaware.com/linux/survivor/Convert_MS_Word.html "та, за адресоюhttp://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).
Принцип використання OpenOffice.org для читання у файлі .doc, а потім його експортування у форматі PDF здається здоровим, якщо ви знайдете, що OpenOffice.org робить обласною завдання відкриття файлів .doc, які у вас є.
Цей маленький фрагмент працював для мене дуже добре.
Немає обмежень щодо кількості файлів
$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()
Просто збережіть його як сценарій PowerShell, Convert-Documents.ps1
а потім запустіть його з командного рядка з папки, де знаходяться всі ваші вихідні документи.
free
та може обробляти та unlimited
кількість файлів. Як таке, я відмовив редагування, але включив запропонований у редакцію синтаксис-виправлення.
[ref]
команди та останній рядок ( $Word.Close()
). Інакше з’явились помилки.
Перетворення декількох документів з DOC в PDF на Windows XP за допомогою JODConverter та Open Office
Передумови:
Крок 1 Завантажте JODConverter (остання версія jodconverter-2.2.2.zip) з
Видаліть ZIP-файл JODConverter у вибраному каталозі (D1)
Крок 2 Запустіть OpenOffice в сервісному режимі (детальніше тут )
Створіть пакетний файл start-service.bat із наступним вмістом:
start-service.bat:
X:\Program Files\OpenOffice.org 3\program\soffice.exe -headless
-accept="socket,host=127.0.0.1,port=8100;urp;" –nofirststartwizard
:: якщо не працює, спробуйте видалити цей останній параметр (–nofirststartwizard)
(припустимо, що X: \ Program Files \ OpenOffice.org 3 \ - це каталог, де встановлено Open Office і присутній soffice.exe).
Запустіть start-service.bat (відкритий офіс зараз запущений у сервісному режимі та очікування команд)
Крок 3
Зберіть усі документи, які потрібно перетворити в pdf, у каталог (D2)
Створіть пакетний файл convert.doc, який запускає JODConverter і видайте інструкції з перетворення:
convert.bat:
java -jar "<D1>\lib\jodconverter-cli-2.2.2.jar" -f pdf *.doc
де D1 - каталог JODConverter, створений на етапі 1
(Якщо JODConverter має інший номер версії, оновіть convert.bat відповідно)
ВАЖЛИВО: файл convert.bat повинен знаходитися в каталозі D2!
Крок 4:
Запустіть convert.bat
Для кожного * .doc-файлу, присутнього в D2, JODConverter вимагатиме від Open Office створити новий файл з тим самим іменем та розширенням pdf у тому самому каталозі.
Якщо документи Word є простими, і якщо вам не потрібно форматування Word Word, щоб вони були присутніми в документах PDF, ви можете використовувати просту петлю навколо основного коду моїх програм DOCXtoPDF, щоб робити те, що ви хочете. DOCXtoPDF використовує внутрішньо xtopdf, мій інструментарій Python для створення PDF з багатьох інших форматів. Вам також потрібно встановити ReportLab 1.21.
Побачити:
http://jugad2.blogspot.in/2013/10/convert-microsoft-word-files-to-pdf.html
http://slid.es/vasudevram/xtopdf
Якщо ви хочете швидкий і простий онлайн-метод для 20 і менше файлів, то використовуйте цей веб-сайт online2pdf , тут ви можете завантажити свої файли, вибрати деякі параметри, а потім натиснути конвертувати, він перетворить усі документи, а потім автоматично завантажить один поштовий файл, що містить PDF-файли.
Виходячи з відповіді Умара , ось модифікований сценарій PowerShell, який буде:
Як і у Umar's, використовувати це:
doc2pdf.ps1
, десь у вашому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
Тестовано з Word 2013 та PowerShell 4.0.