2009-08-03 13:53:21 +0000 2009-08-03 13:53:21 +0000
36
36
Advertisement

Пакетное преобразование документов Word в формат PDF

Advertisement

Как выполнить пакетную конвертацию многих документов Word и сохранить их как [originalfilename].pdf?

Advertisement
Advertisement

Ответы (13)

41
41
41
2009-08-23 17:35:01 +0000

Возможно, это приведет к тому, что документ попадет на территорию 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();
    }
}
24
24
24
2009-08-03 17:35:13 +0000

Вот как я бы это сделал:

  1. Скачать CutePDF writer
  2. Установите writeer в качестве принтера по умолчанию ** (вы можете изменить его позже) 0x2 и 3. Поместите все .doc-файлы в папку same
  3. Выделите все файлы, щелкните правой кнопкой мыши, Печать 0x2 и 0x2 и Единственный минус в том, что нужно нажать Ok один раз для каждого файла.
9
Advertisement
9
9
2009-09-18 14:41:34 +0000
Advertisement

Ну, cutepdf и pdf99 делают свою работу хорошо, но я нахожу [ PDFcreator ]0x3 и более привлекательным, так как он ‘печатает в более высоком качестве, чем два других, он также имеет больше опций настройки, плюс он с открытым исходным кодом.

6
6
6
2011-03-05 13:20:22 +0000

[ Используйте Google Docs в качестве конвертера пакетного PDF ]0x3 и по [ Amit Agarwal ]0x3 и 0x2 и 0x2 и Если у вас есть огромный пакет документов Word, Excel Электронные таблицы и PowerPoint Презентации на жестком диске, который вы хотели бы конвертировать в PDF сразу, без инвестиций в коммерческое программное обеспечение, как Adobe Acrobat, попробуйте Google Docs. 0x2 и 0x2 и Хотя всегда можно было конвертировать документы Office в PDF с помощью Google Docs, новая функция экспорта еще больше упрощает пакетное преобразование форматов файлов Microsoft Office и OpenOffice в PDF (или HTML) в три простых шага. Пакетное преобразование в PDF с Google Docs 0x2 и 0x2 и Использовать Google Docs как конвертер пакетного PDF 0x2 и 0x2 и Шаг #1 - Создайте новую “входную” папку в Google Docs, где вы будете загружать все ваши документы и презентации, которые будут преобразованы в PDF.

Шаг #2 - теперь выберите параметр “Загрузить документ” в Google Docs, установите целевую папку на ту, которую вы создали на шаге #1 и upload* для всех ваших документов. 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 Docs, но это поместит все в главную папку, и управление документами может стать проблемой, особенно если у вас слишком много файлов.

Степ #3 - После того, как все файлы будут загружены в Google Docs, снова откройте панель инструментов и выберите папку “input” на правой боковой панели. Выберите все файлы в этой папке и выберите “Export” (Экспорт) в разделе “More Options” (Дополнительные опции).

Здесь выберите “PDF” (или HTML) в качестве выходного формата, и все ваши документы Word, презентации, электронные таблицы и т.д. будут мгновенно преобразованы в PDF. 0x2 и 0x2 и если вы конвертируете большую партию документов в PDF, вам не придется ждать в браузере для преобразования, чтобы закончить, как Google Docs автоматически отправит вам по электронной почте, как только обработка закончена. Электронное письмо будет содержать ссылку, откуда вы можете напрямую скачать все PDF-файлы в одном большом ZIP.

6
Advertisement
6
6
2010-06-04 09:06:35 +0000
Advertisement

Относительно скрипта 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 в этом каталоге.

Я уверен, что он неуклюжий, но он сработал для меня. надеюсь, это кому-нибудь поможет.

6
6
6
2012-07-12 06:54:37 +0000

Ответ Боббимцира довольно интересен и хорошо работает со Словом 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

4
Advertisement
4
4
2017-03-11 11:06:12 +0000
Advertisement

Этот маленький фрагмент очень хорошо сработал для меня.

  • Бесплатно
  • Просто
  • Без ограничений на количество файлов

Просто сохраните его в сценарий PowerShell типа Convert-Documents.ps1, а затем запустите его из командной строки из папки, в которой находятся все ваши исходные документы.

4
4
4
2009-08-03 14:32:28 +0000

Я не пробовал, но есть пакетный метод с использованием OpenOffice.org, который можно протестировать. Инструкции по выполнению этого на платформах GNU/Linux и Windows описаны по адресу http://www.tech-faq.com/convert-word-to-pdf.shtml (а также по адресу _COPY5_MS_Word.html “ и по адресу http://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).

Принцип использования OpenOffice.org для чтения в файле .doc, а затем экспорта в PDF кажется правильным, если вы найдете OpenOffice.org, делает возможным открытие имеющихся у вас файлов .doc.

1
Advertisement
1
1
2020-02-18 06:58:57 +0000
Advertisement

Немного более простой альтернативой по сравнению со сценариями Powershell, Batch и Windows Script Host выше является инструмент docx2pdf, который работает как на Windows, так и на MacOS: https://github.com/AlJohri/docx2pdf/

Подобно другим ответам, этот подход использует win32com в Windows и JXA (Javscript for Automation, в основном AppleScript в JS) в MacOS. Однако он упакован в легко устанавливаемый и готовый к пакетной конвертации пакет с прогресс-баром.

Установить:

pip install docx2pdf

Run:

docx2pdf myFolderOfWordDocs

Disclaimer: Я написал эту утилиту после того, как пытался найти кроссплатформенное решение для пакетного преобразования docx в pdf с нулевыми проблемами форматирования, так как она напрямую использует Microsoft Word.

0
0
0
2011-03-05 14:38:31 +0000

Конвертирование нескольких документов из 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).

Run start-service.bat (open office теперь запущен в служебном режиме и ожидает команд)


Step 3

Сбор всех документов, которые должны быть преобразованы в pdf в каталоге (D2)

Создать пакетный файл convert.doc, который запускает JODConverter с и выдает инструкции по преобразованию:

convert.bat:

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

где D1 - каталог JODConverter, созданный в Step 1

(если JODConverter имеет другой номер версии, обновите convert.bat соответственно)

ВАЖНО: файл convert.bat должен быть расположен в каталоге D2 !


Шаг 4:

Run convert.bat

Для каждого файла *.doc, присутствующего в D2, JODConverter потребует от Open Office создать новый файл с таким же именем и расширением pdf в том же каталоге.

0
0
0
2016-06-17 07:00:01 +0000

Если вам нужен быстрый и простой онлайн метод для 20 или менее файлов, то используйте этот веб-сайт online2pdf , здесь вы можете загрузить ваши файлы, выбрать некоторые опции, а затем нажмите кнопку “Конвертировать”, он будет преобразовывать все документы, а затем автоматически загрузить один zip-файл, содержащий PDF-файлы.

0
0
0
2015-01-29 19:14:05 +0000

Если документы 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 https://bitbucket.org/vasudevram/xtopdf http://www.reportlab.com/ftp [ http://www.reportlab.com/ftp ].0x3&

0
0
0
2017-08-31 14:33:32 +0000

Основываясь на Umar’s answer , вот измененный сценарий PowerShell, который будет:

  • Обработка DOC, а также DOCX
  • Показ индикатора прогресса, как он работает

Как и в случае с Umar, чтобы использовать это:

  • сохраните следующий скрипт в виде файла, например, doc2pdf.ps1, где-нибудь в вашем PATH
  • перейдите в каталог, содержащий ваш док или docx файлы
  • запустите 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.

Advertisement

Похожие вопросы

19
12
9
13
2
Advertisement