Пакетне перетворення документів Word у PDF


Відповіді:


24

Ось як я це зробив би:

  1. Завантажити CutePDF Writer
  2. Встановіть сценарій як принтер за замовчуванням (його можна змінити пізніше)
  3. Помістіть усі ваші .doc файли в одну папку
  4. Виділіть усі файли правою кнопкою миші та Друк

Єдиним недоліком є ​​те, що вам потрібно один раз натиснути Ок для кожного файлу.


3
Це те, що я насправді робив. Я повинен був зробити це трохи інакше, хоча ... Я відкрив "Принтер" CutePDF з панелі управління, щоб він показав, що буде черга принтера ... Потім я перетягнув і відкинув документи у це вікно - а потім це все стукало ENTER, щоб прийняти звідти ім'я файлу ... Всі вони були названі МІКРОСОФТ СЛОВО - [ім'я файлу] .pdf, але я можу це легко вирішити.
Kjensen

Цей же робочий процес можна використовувати з PDFCreator ( en.pdfforge.org/pdfcreator ). Якщо ви встановите його як сервіс або в автоматичному режимі, він видається за винятком вибору> print.
matt wilkie

1
Якщо я виділяю більше 15 файлів у Windows, опція "Друк" зникає з контекстного меню правою кнопкою миші. Я щойно спробував метод перетягування, але 94 файли можуть бути занадто багато для нього ...
Spacedman

41

Це може підштовхнути його до території 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();
    }
}

5
Вищевказаний код працює чудово, але він бере лише один файл як аргумент. Мені було занадто лінь шукати спосіб фільтрації каталогу в JScript, тому я підготував спосіб у Powershell, використовуючи нижчу посаду як натхнення: stackoverflow.com/questions/181036/… PS E: \ MyDocuments> ls * .doc | % {cscript // nologo E: \ jssrc \ SaveAsPDF.js $ _}
Аніті

@bobbymcr Посилання у відповідь мертва. Дивіться тут для SaveAsPDFзавантаження поточного плагіна.
Пітер Вандів'є

9

добре, cutepdf та pdf99 роблять свою роботу добре, але я вважаю PDFcreator більш привабливим, оскільки він друкує більш високу якість, ніж інші два, він також має більше варіантів конфігурації, плюс це відкритий код.


1
PDFCreator можна використовувати так, як відповів kjensen вище, однак, я хотів би зазначити, що в параметрах PDFCreator можна включити автоматичне збереження, яке автоматично збереже кожен документ у вибраному вами каталозі з обраним іменем файлу. . Таким чином, вам не потрібно натискати "Enter", щоб підтвердити, що ви хочете зберегти кожен файл.

6

Використовуйте 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.


1
Будьте готові до значного керування будь-яким документом, який містить таблиці, зображення, менш поширені шрифти. Я не заглиблювався в нього далі, але спробував слово слово з бланками, побудованими з таблиці, що містить текст і графік, і використовуючи шрифт Calibri. PDF не був схожим на оригінал.
rossmcm

Цей метод спочатку з 2009 року, але, на жаль, видалено (окремі файли можна експортувати у форматі PDF, але папки немає ...)
Джо

6

Відповідь 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


6

Стосовно сценарію 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 у цьому каталозі.

Я впевнений, що це незграбно, але він працював на мене. сподіваюся, що це комусь допоможе.


4

Я не пробував цього, але є пакетний метод, що використовує 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, які у вас є.


1
Використання OpenOffice.org надасть вам вміст, що можна натискати, і так далі. Будь-яке рішення "Друк у PDF" не буде. Дивіться superuser.com/questions/568/how-to-print-documents-to-pdf/…
Арджан

+1 для віртуальних принтерів PDF. Ці чудові, я б хотів, щоб вони були доступні за замовчуванням на будь-якій ОС.
Ману

4

Цей маленький фрагмент працював для мене дуже добре.

  • Безкоштовно
  • Легко
  • Немає обмежень щодо кількості файлів

    $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а потім запустіть його з командного рядка з папки, де знаходяться всі ваші вихідні документи.


Моя відповідь була зроблена редакцією @cxw, яка видалила значну частину моєї відповіді, а саме те, що сценарій є freeта може обробляти та unlimitedкількість файлів. Як таке, я відмовив редагування, але включив запропонований у редакцію синтаксис-виправлення.
Umar Farooq Khawaja

Це працювало для мене під Windows 7, коли я знімав [ref]команди та останній рядок ( $Word.Close()). Інакше з’явились помилки.
loved.by.Ісус

0

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


0

Якщо документи 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

https://bitbucket.org/vasudevram/xtopdf

http://www.reportlab.com/ftp


0

Якщо ви хочете швидкий і простий онлайн-метод для 20 і менше файлів, то використовуйте цей веб-сайт online2pdf , тут ви можете завантажити свої файли, вибрати деякі параметри, а потім натиснути конвертувати, він перетворить усі документи, а потім автоматично завантажить один поштовий файл, що містить PDF-файли.


0

Виходячи з відповіді Умара , ось модифікований сценарій PowerShell, який буде:

  • Процес DOC, а також DOCX
  • Показати панель прогресу, як це працює

Як і у Umar's, використовувати це:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.