サーバー上に数百のWordドキュメントがあり、アーカイブ、Webポータル、または読み取り専用コピーを配布するワークフローのためにPDFにする必要がある。WordでファイルごとにPDFエクスポートするのは大量処理には不可能です。Total Doc Converter XはDOCおよびDOCXファイルをコマンドラインからバッチでPDFに変換します。GUIもMicrosoft Officeのインストールも不要です。Windowsサーバーにインストールし、スクリプトから呼び出して無人で実行できます。
*.doc)を指定すると、一致するすべてのファイルを1回の実行で処理DOC/DOCXは編集可能なWord形式です。レンダリングにはMicrosoft Wordまたは互換アプリケーションが必要で、インストールされたフォント、Wordのバージョン、プリンタードライバーによってマシンごとに結果が異なる場合があります。PDFは固定レイアウト形式で、あらゆるデバイスで同一に表示されます。誤って編集されることがなく、パスワード保護をサポートし、すべてのブラウザ、モバイルOS、デスクトップオペレーティングシステムでネイティブに開けます。
| DOC / DOCX | ||
|---|---|---|
| 編集可能性 | 完全に編集可能 | 読み取り専用(設計上) |
| レンダリング | マシンやWordバージョンにより異なる | すべてのデバイスで同一 |
| 必要なビューア | Microsoft Wordまたは互換アプリ | 任意のブラウザまたはPDFビューア(無料) |
| セキュリティ | 限定的(基本的なパスワード) | パスワード、暗号化、権限設定 |
| デジタル署名 | 対応(Word必要) | 対応(ユニバーサル) |
| 用途 | 起草、共同作業 | 配布、アーカイブ、コンプライアンス |
上記のリンクからインストーラーをダウンロードし、Windowsサーバーまたはワークステーションで実行します。セットアップは1分以内に完了します。Microsoft Officeのインストールは不要です — コンバーターは独自のレンダリングエンジンを使用します。
cmd.exeまたはPowerShellを開きます。コンバーターの実行ファイルはDocConverter.exeで、インストールフォルダ(通常はC:\Program Files\CoolUtils\TotalDocConverterX\)にあります。システムPATHに追加するか、コマンドでフルパスを使用します。
最もシンプルなコマンドは、フォルダ内のすべてのDOCファイルをPDFに変換します:
DocConverter.exe C:\Docs\*.doc C:\Output\ -cPDF
これによりC:\Docs\内のすべての.docファイルが処理され、結果のPDFがC:\Output\に保存されます。各DOCファイルから同じ名前のPDFが1つ生成されます。
追加フラグでPDF出力を制御します:
DocConverter.exe C:\Docs\*.docx C:\Output\ -cPDF -OwnerPassword admin123 -NoPrint -NoCopy
-OwnerPassword admin123 — 権限を制御するPDFオーナーパスワードを設定-UserPassword open456 — PDFを開くために必要なパスワードを設定-NoPrint — 出力PDFの印刷を無効化-NoCopy — テキストの選択とコピーを防止-Watermark "CONFIDENTIAL" — すべてのページにテキストを透かし印刷-PageNum — フッターにページ番号を追加コマンドを.batファイルに保存し、Windowsタスクスケジューラでスケジュール設定します:
@echo off "C:\Program Files\CoolUtils\TotalDocConverterX\DocConverter.exe" C:\Incoming\*.doc C:\Archive\PDF\ -cPDF -OwnerPassword secret -NoPrint -log C:\Logs\doc2pdf.log
これにより、毎晩(または設定した間隔で)変換が実行され、結果を確認するためのログファイルが書き込まれます。
Total Doc Converter Xには完全なActiveXインターフェースが含まれています。VBScript、VB.NET、C#、ASP、Windows上のPHPなど、あらゆるCOM互換環境からコンバーターを呼び出せます。これにより、コマンドラインプロセスを呼び出すことなく、独自のWebアプリケーション、イントラネットポータル、またはドキュメントワークフローにDOCからPDFへの変換を組み込めます。
例(VBScript):
Set obj = CreateObject("DocConverter.Application")
obj.Convert "C:\Docs\report.doc", "C:\Output\report.pdf", "PDF"
ASP.NETでは、COM Interopを通じて同じ呼び出しが機能し、Webアプリケーションがアップロードされた WordファイルをリアルタイムでPDFとしてユーザーに返すことができます。
| 機能 | オンラインコンバーター | Total Doc Converter X |
|---|---|---|
| バッチ処理 | 一度に1ファイル | バッチあたり無制限のファイル |
| ファイルのプライバシー | ファイルをサードパーティサーバーにアップロード | ファイルは自分のマシンから出ない |
| ファイルサイズ制限 | 通常10–50 MB | 制限なし |
| PDFセキュリティ | ほとんど利用不可 | パスワード、暗号化、権限設定 |
| ウォーターマーク | 利用不可またはブランド入り | カスタムテキストおよび画像ウォーターマーク |
| 自動化 | 手動のみ | コマンドライン、.bat、タスクスケジューラ、ActiveX |
| サーバーデプロイ | 不可 | サーバー用に設計、GUI不要 |
| インターネット必要 | はい | いいえ |
コンバーターは独自のレンダリングエンジンを使用してDOCおよびDOCXファイルを読み込みます。サーバーにWord、LibreOffice、その他のアプリケーションをインストールする必要はありません。これにより、デプロイが簡素化され、Officeのライセンスコストが回避され、サーバー環境でOfficeを実行する際の安定性の問題が解消されます。
Total Doc Converter Xは無人使用向けに設計されています。GUIウィンドウ、ダイアログボックス、確認プロンプトはありません。コマンドラインからまたはサービスの一部としてサイレントに動作します — プロダクションサーバーに必要なものそのものです。
パスワードの設定、権限の制限、ウォーターマークの追加、ページ番号の挿入、ヘッダーとフッターのカスタマイズ — すべてコマンドラインから。WordのPDFとして保存ダイアログで手動設定するすべてのオプションが、コマンドラインフラグとして利用可能です。
同じコマンドラインツールでDOCとDOCXをTIFF、JPEG、PNG、HTML、XLS、RTF、TXTなどに変換できます。1つのインストールですべてのドキュメント変換ニーズに対応。-cPDFを-cTIFFに変更するだけで、同じバッチ・自動化機能でTIFF出力が得られます。
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"当社のイントラネットポータルを通じて毎週3,000件のWordドキュメントを処理しています。ユーザーがDOCファイルをアップロードし、システムがPDFを返します。Total Doc Converter XがActiveX経由でサーバー側の変換を処理しています。Officeのインストール不要、安定性の問題なし、ユーザー操作なし。2年間、一度も障害なく稼働しています。"
James Whitfield Senior Systems Administrator
"当社のコンプライアンスワークフローでは、すべての最終契約書をパスワード保護されたPDFとして保存することが求められます。以前はWordで手動で行っていました。現在は夜間の.batスクリプトがFinalizedフォルダ内のすべてのファイルをオーナーパスワードと印刷制限付きのPDFに変換します。バッチ全体が数分で完了します。"
Katrin Bauer Compliance Officer
"優れたサーバー側コンバーターです。CI/CDパイプラインに統合して、各リリース後にWordテンプレートからPDFドキュメントを生成しています。コマンドラインインターフェースは分かりやすく、ログ出力もきれいです。Linux版があれば嬉しいですが、当社のWindows Server環境では確実に機能しています。"
Rafael Costa DevOps Engineer
DocConverter.exe C:\Docs\*.doc C:\Output\ -cPDFです。これによりソースフォルダ内のすべてのDOCファイルがPDFに変換されます。-OwnerPassword、-NoPrint、-Watermarkなどのフラグを追加して出力を制御できます。-OwnerPasswordで権限(印刷、コピー)を制御するパスワードを設定し、-UserPasswordでPDFを開くために必要なパスワードを設定できます。*.docxを使用してDOCXファイルを変換します。-Watermark "CONFIDENTIAL"フラグを使用して、すべてのページにテキストを透かし印刷できます。画像ファイルのパスを指定して画像ウォーターマークを追加することもできます。
string src = @"C:\test\Source.docx";
string dest = @"C:\test\Dest.pdf";
var cnv = new DocConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\Doc.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\DocConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.docx";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"\"{srcPath}\" \"{outPath}\" -cPDF";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("DocConverter.DocConverterX")
C.Convert "c:\source.docx", "c:\dest.pdf", "-cPDF -log c:\doc.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("DocConverter.DocConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.docx", "C:\www\ASP", "-cpdf -log c:\doc.log")
set C = nothing
$src="C:\\test\\test.docx";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("DocConverter.DocConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\test\\Doc.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('DocConverter.DocConverterX')
src = "C:\\test\\test.docx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\Doc.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("DocConverter.DocConverterX")
src = "C:\\test\\test.docx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\Doc.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('DocConverter.DocConverterX');
c.Convert('c:\test\source.docx', 'c:\test\dest.pdf', '-cPDF -log c:\test\Doc.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("DocConverter.DocConverterX");
c.Convert("C:\\test\\source.docx", "C:\\test\\dest.pdf", "-cPDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.docx"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'DocConverter.DocConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\Doc.log"); print $c->ErrorMessage if -e $dest;
無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。