Ответы:
Вот как я бы это сделал:
Единственным недостатком является то, что вы должны нажать Ok один раз для каждого файла.
Это может подтолкнуть его на территорию 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 Docs в качестве пакетного конвертера PDF от Amit Agarwal
Если у вас есть огромный пакет документов Word, электронных таблиц Excel и презентаций PowerPoint на жестком диске, которые вы хотите конвертировать в PDF сразу, не вкладывая средства в коммерческое программное обеспечение, такое как Adobe Acrobat, попробуйте Google Docs.
Несмотря на то, что всегда было возможно преобразовать документы Office в PDF с помощью Google Docs, новая функция экспорта еще больше упрощает пакетное преобразование форматов файлов Microsoft Office и OpenOffice в PDF (или HTML) за три простых шага. Пакетное преобразование в PDF с Google Docs
Используйте Google Docs в качестве пакетного конвертера PDF
Шаг № 1 - Создайте новую «входную» папку в Документах Google, куда вы будете загружать все свои документы и презентации, которые должны быть преобразованы в PDF.
Шаг № 2 - Теперь выберите опцию «Загрузить документ» в Документах Google, установите целевую папку в папку, созданную на шаге № 1, и загрузите * все свои документы.
Документы Google официально поддерживают следующие форматы файлов, хотя вы также можете загружать изображения:
* 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, снова откройте панель управления и выберите папку «input» на правой боковой панели. Выберите все файлы в этой папке и выберите «Экспорт» в разделе «Дополнительные параметры».
Здесь выберите «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 со следующим содержимым:
старт-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 присутствовало в документах 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. Здесь вы можете загрузить свои файлы, выбрать некоторые параметры и нажать кнопку «Преобразовать», он преобразует все документы и затем автоматически загрузит один zip-файл, содержащий файлы PDF.
Опираясь на ответ Умара , вот модифицированный скрипт PowerShell, который будет:
Как с Умаром, чтобы использовать это:
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.