WordドキュメントをPDFにバッチ変換する


回答:


24

これは私がそれをする方法です:

  1. CutePDFライターをダウンロード
  2. ライターをデフォルトのプリンターとして設定します(後で元に戻すことができます)
  3. すべての.docファイルを同じフォルダーに配置します
  4. すべてのファイルを強調表示し、右クリックして印刷

唯一の欠点は、ファイルごとに[ OK ]を1回クリックする必要があることです。


3
これは私が実際にしたことでした。私はそれとは少し違ったやり方をしなければなりませんでした...コントロールパネルからCutePDF "Printer"を開いたので、プリンタキューになるものが表示されました...その後、ドキュメントをそのウィンドウにドラッグアンドドロップし、 ENTERキーを押すと、そこからファイル名を受け入れることができました。すべての名前はMICROSOFT WORD-[filename] .pdfでしたが、簡単に解決できます。
ケンセン2009

同じワークフローをPDFCreator(en.pdfforge.org/pdfcreator)で使用できます。サービスとしてインストールする場合、または自動モードでインストールする場合は、select> printを除き、手間がかかりません。
マットウィルキー

1
Windowsで15を超えるファイルを強調表示すると、右クリックのコンテキストメニューから[印刷]オプションが消えます。ドラッグアンドドロップの方法を試したところですが、94個のファイルが多すぎるかもしれません...
Spacedman

41

これにより、stackoverflow.com領域にプッシュされる可能性がありますが、Word 2007のスクリプトを作成して、ドキュメントをPDFとして開いて保存できます。これには、Office 2007およびMicrosoftの「PDFとして保存」プラグインが必要です。

これをファイルに保存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
上記のコードはうまく機能しますが、引数として1つのファイルのみを取ります。私は、JScriptのディレクトリをフィルタリングする方法を検索するのが面倒だったので、私はインスピレーションとして、ポストの下に使用してPowerShellで道を調理:stackoverflow.com/questions/181036/... PS E:\マイドキュメント> LS * .DOC | %{cscript // nologo E:\ jssrc \ SaveAsPDF.js $ _}
Aniti

@bobbymcr答えのリンクは死んでいます。現在のプラグインのダウンロードについてはこちらご覧くださいSaveAsPDF
ピーターヴァンディヴィエ

9

まあ、cutepdf&pdf99はうまく機能しますが、PDFcreator は他の2つよりも高品質で印刷できるため、より多くの構成オプションがあり、オープンソースであるため、PDFcreatorの方が魅力的です。


1
上記のkjensenの回答どおりにPDFCreatorを使用できますが、PDFCreatorオプションで自動保存を有効にすると、選択したディレクトリに各ドキュメントが選択したファイル名で自動的に保存されることを指摘したいと思います。そうすれば、各ファイルを保存することを確認するために「Enter」を押す必要はありません。

6

Amit Agarwalに よる GoogleドキュメントをバッチPDFコンバーターとして使用する

ハードドライブに大量のWord文書、Excelスプレッドシート、PowerPointプレゼンテーションがあり、Adobe Acrobatなどの商用ソフトウェアに投資せずに一度にPDFに変換したい場合は、Google Docsを試してください。

Googleドキュメントを使用してOfficeドキュメントをPDFに変換することは常に可能ですが、新しいエクスポート機能により、Microsoft OfficeおよびOpenOfficeファイル形式を3つの簡単なステップでPDF(またはHTML)にバッチ変換することがさらに簡単になります。Googleドキュメントを使用したPDFへのバッチ変換

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ファイルを1つの大きなZIPで直接ダウンロードできるリンクがあります。


1
表、画像、あまり一般的ではないフォントを含むドキュメントの重要なマングリングに備えてください。私はこれ以上掘り下げていませんが、テキストとグラフを含む表で構成されたレターヘッドと、Calibriフォントを使用したワード文書を試しました。PDFは元のようなものではありませんでした。
rossmcm

この方法はもともと2009年のもので、残念ながら削除されているようです(個々のファイルはpdfとしてエクスポートできますが、フォルダーはありません...)
Joe

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スクリプトについて。これは1つのpdfファイルを変換するために機能しましたが、ディレクトリ内のすべてのファイルを変換する方法を知りませんでした。少し遊んで、ファイルを作成しました。次の2行のCovertAll2PDF.bat:

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/…を
Arjan

pdf仮想プリンターの場合は+1。それらは素晴らしいです、私はそれらがすべてのOSでデフォルトで利用できることを望みます。
マヌー

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、ファイルの数を処理できるという事実が削除されました。そのため、編集をロールバックしましたが、編集で提案された構文修正を組み込みました。
ウマルファルークKhawaja

[ref]コマンドと最後の行($Word.Close())を取り除いたときに、Windows 7で動作しました。それ以外の場合、エラーが発生しました。
-loved.by.Jesus

0

JODConverterとOpen Office を使用して、Windows XPでDOCからPDFに複数のドキュメントを変換する

前提条件:


ステップ1 JODConverter(最新バージョンjodconverter-2.2.2.zip)からダウンロードします

選択したディレクトリでJODConverter zipファイルを解凍します(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

:: ifが機能しない場合、この最後のパラメーターを削除してみてください(–nofirststartwizard)

(X:\ Program Files \ OpenOffice.org 3 \がOpen Officeがインストールされ、soffice.exeが存在するディレクトリであると仮定します)。

start-service.batを実行します(現在、オープンオフィスはサービスモードで開始され、コマンドを待機しています)


ステップ3

ディレクトリにあるPDFに変換するすべてのドキュメントを収集します(D2)

JODConverterを起動するバッチファイルconvert.docを作成し、変換指示を発行します。

convert.bat:

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

ここで、D1は手順1で作成したJODConverterディレクトリです

(JODConverterに別のバージョン番号がある場合、それに応じてconvert.batを更新します)

重要:convert.batファイルはD2ディレクトリに配置する必要があります!


ステップ4:

convert.batを実行します

D2にある各* .docファイルについて、JODConverterはOpen Officeが同じディレクトリに同じ名前とpdf拡張子を持つ新しいファイルを作成することを要求します。


0

Word文書が単純で、Word文書の書式設定をPDF文書に含める必要がない場合、DOCXtoPDFプログラムのコアコードを囲む単純なループを使用して、必要な処理を実行できます。DOCXtoPDFは、他の多くの形式からPDFを作成するためのPythonツールキットであるxtopdfを内部的に使用します。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以下のファイルをすばやく簡単にオンラインで作成する方法が必要な場合は、このWebサイトonline2pdfを使用します。ここでファイルをアップロードし、オプションを選択して[変換]をクリックします。すべてのドキュメントを変換し、 PDFファイル。


0

オフ構築ウマルの答え、ここでその意志修正PowerShellスクリプトは次のとおりです。

  • DOCとDOCXを処理します
  • 進行状況バーを表示する

Umarの場合と同様に、これを使用するには:

  • 例えば、ファイルとして以下のスクリプトを保存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でテスト済み。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.