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

バッチ変換Word文書をPDFに

多くのWord文書をバッチ変換して、それらを[originalfilename].pdfとして保存させるには?

回答 (13)

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

これは stackoverflow.com の領域に押し込むかもしれませんが、Word 2007 をスクリプト化して文書を開いて PDF として保存することができます。これには Office 2007 と Microsoft の “Save as 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();
    }
}
24
24
24
2009-08-03 17:35:13 +0000

私ならこうします。

  1. [ CutePDF writer ]をダウンロードする (http://www.cutepdf.com/Products/CutePDF/writer.asp)
  2. ライターをデフォルトプリンタに設定します(後で変更できます)
  3. すべての.docファイルを同じフォルダに配置する
  4. すべてのファイルをハイライトして右クリックし、Print

唯一の欠点は、各ファイルごとに1回Okをクリックしなければならないことです。

9
9
9
2009-09-18 14:41:34 +0000

cutepdf と pdf99 はそれぞれの仕事をよくこなしていますが、私は PDFcreator の方が魅力的だと感じています。

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

Use Google Docs as a Batch PDF Converter by Amit Agarwal

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

Google Docsを使ってOffice文書をPDFに変換することはこれまでも可能でしたが、新しいエクスポート機能により、3つの簡単なステップでMicrosoft OfficeやOpenOfficeのファイル形式をPDF(またはHTML)にバッチ変換することがさらに簡単になりました。Google Docsを使ったPDFへの一括変換

Google DocsをPDFの一括変換ツールとして使用する

ステップ1 - Google Docsに新しい「入力」フォルダを作成し、そこにPDFに変換するすべての文書やプレゼンテーションをアップロードします。

Step #2 - Google Docsで「ドキュメントのアップロード」オプションを選択し、保存先フォルダをStep #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 Docsに文書をアップロードすることもできますが、その場合、すべての文書がメインフォルダに保存されてしまうため、特にファイル数が多すぎる場合は文書の管理が問題になることがあります。

Step #3 - すべてのファイルがGoogle Docsにアップロードされたら、ダッシュボードを再度開き、右サイドバーから「input」フォルダを選択します。このフォルダ内のすべてのファイルを選択し、「その他のオプション」で「エクスポート」を選択します。

ここで出力形式として「PDF」(またはHTML)を選択すると、すべてのWordドキュメント、プレゼンテーション、スプレッドシートなどが即座にPDFに変換されます。

また、大量のドキュメントをPDFに変換する場合は、処理が終了するとGoogle Docsが自動的にメールを送信してくれるので、ブラウザで変換が終わるのを待つ必要はありません。そのメールには、1つの大きなZIPにまとめられたPDFファイルを直接ダウンロードできるリンクが記載されています。

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

以前のユーザーが投稿したSaveAsPDF.jsスクリプトについて。これは1つのpdfファイルを変換するために動作しましたが、私はディレクトリ内のすべてのファイルを隠蔽する方法がわかりませんでした。少し遊んで、私はファイルを作成しました。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を保存します。

不器用だとは思いますが、私の場合はうまくいきました。

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

Bobbymcrさんの回答はかなり面白く、Word 2010でも十分に動作します。それでも改善すべき点があります。Bobbymcrさんの元のコマンドラインはこんな感じです。

cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc

これは、.jsファイルをメモ帳++のようなエディタで関連付けている場合には動作しません。この場合、使用するエンジンも指定しなければなりません。これは、//E:jscript コマンドラインパラメータ

cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc を使用することで簡単に実現できます。

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

この小さなスニペットは、私には非常にうまく機能しました。

  • フリー
  • 簡単
  • ファイル数の制限なし

Convert-Documents.ps1 のような PowerShell スクリプトに保存して、すべてのソースドキュメントがあるフォルダ内のコマンドラインから実行するだけです。

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 (および、 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
1
1
2020-02-18 06:58:57 +0000

上記の Powershell、Batch、Windows Script Host スクリプトに比べて少し簡単な代替手段として、Windows と MacOS の両方で動作する docx2pdf ツールがあります: https://github.com/AlJohri/docx2pdf/

他の回答と同様に、この方法は Windows で win32com を、macOS で JXA (Javscript for Automation, 基本的には JS の AppleScript) を使用しています。ただし、簡単にインストールできて、プログレスバーでバッチ変換できるようにパッケージ化されています。

インストール。

pip install docx2pdf

実行:

docx2pdf myFolderOfWordDocs

免責事項: このツールは Microsoft Word を直接使用しているので、フォーマットの問題をゼロにして docx を pdf にバッチ変換するクロスプラットフォームのソリューションを見つけるのに苦労した後、このツールを書きました。

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

JODConverter ](http://www.artofsolving.com/opensource/jodconverter)とOpen Officeを使用してWindows XPで複数の文書をDOCからPDFに変換する

前提条件:

Step 1 JODConverter (最新版のjodconverter-2.2.2 zip)を

からダウンロードします。 2.2.2.2.zip)をダウンロードする

JODConverter の zip ファイルを任意のディレクトリに解凍する (D1)


Step 2 OpenOffice をサービスモードで起動する (詳細はこちら [ (http://www.artofsolving.com/node/10) ] )

以下の内容のバッチファイル 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 doesn’t work try remove this last parameter(-nofirststartwizard)

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

Run start-service.bat (open office is now started in service mode and awaiting commands)


Step 3

ディレクトリ(D2)にpdfに変換する全ての文書を収集する

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

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ディレクトリにある必要があります!


Step 4:

Run convert.bat

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

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

あなたは20以下のファイルのための迅速かつシンプルなオンライン方法をしたい場合は、このウェブサイトを使用してください online2pdf 、ここでは、あなたのファイルをアップロードすることができ、いくつかのオプションを選択してから、変換をクリックして、それはすべての文書を変換し、自動的にPDFファイルを含む単一のzipファイルをダウンロードします。

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

Word文書がシンプルで、PDF文書にWord文書の書式が存在する必要がない場合は、私のDOCXtoPDFプログラムのコアコードの周りのシンプルなループを使用して、あなたが望むことを行うことができます。DOCXtoPDF は内部的に xtopdf を使用していますが、これは他の多くのフォーマットから PDF を作成するための Python ツールキットです。また、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
0
0
2017-08-31 14:33:32 +0000

Umarさんの回答](https://superuser.com/a/1187598/269989)を元に、以下のようなPowerShellスクリプトを修正しました。

  • DOCとDOCXを処理する
  • 動作中にプログレスバーを表示する

ウマルの回答と同様に、これを使用するには、以下のスクリプトをファイルとして保存します。

  • 以下のスクリプトをファイルとして保存する doc2pdf.ps1
  • doc または docx ファイルのあるディレクトリに変更する
  • PATH
$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

を実行する powershell doc2pdf.ps1

0x1&

Word 2013 と PowerShell 4.0 でテストしています。