Logo
ホーム 製品 サポート コンタクト 私たちについて
arrow1 File Converters
arrow1 TIFF and PDF apps
arrow1 Forensic
arrow1 Freeware

コマンドラインでPDFをXLSに変換 — サーバー向けバッチコンバーター

PDFレポート、銀行取引明細書、規制提出書類のフォルダがあり、その中に閉じ込められたテーブルがある — そして、それらの数値をExcelに取り込んで並べ替え、フィルター、数式の実行を行う必要がある場合。PDFからのコピー&ペーストは列の整列を保つことがほとんどなく、何百ものファイルを手作業で再フォーマットするのは仕事ではなく罰です。Total PDF Converter Xは、GUIなしでMicrosoft Excelのインストールも不要で、コマンドラインからPDFファイルのテーブルをXLSワークブックにバッチ抽出します。Windowsサーバーにインストールし、スクリプトやActiveX経由で呼び出して、無人で実行できます。

Total PDF Converter Xの機能

  • バッチ変換 — ワイルドカード(*.pdf)を指定するだけで、一致するすべてのファイルを一回の実行で処理
  • 編集可能なXLS出力 — セル、列、行を備えた本物のExcelワークブックを生成。数値は数値であり、貼り付けられたテキストではない
  • テーブル検出 — PDFのテキストレイヤーから列境界を識別し、数字を正しいセルに整列させて保つ
  • 複数ページのワークブック-EachPageSeparateで各PDFページを独自のシートに書き出すか、すべてのページを1つに統合
  • Excel不要 — サーバー上にMicrosoft Officeなしで、コンバーターが直接XLSを書き出し
  • GUIなし — ポップアップウィンドウや確認ダイアログなしで、コマンドラインからサイレントに実行
  • ActiveX / COM — .NET、VBScript、PHP、Python、その他のCOM互換環境からコンバーターを呼び出し、独自のアプリケーションに抽出機能を組み込み可能
  • .batスクリプト — コマンドをバッチファイルに保存し、Windowsタスクスケジューラでスケジュール実行して完全自動化された抽出を実現

PDFからXLSへのコマンドライン変換

無料体験版をダウンロード

(30日間、メール登録不要)

ライセンスを購入

(サーバーライセンス、永続版)

Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022

PDF vs XLS: なぜ変換が必要か?

PDFは最終形態のドキュメント形式です。ページは固定され、レイアウトは凍結され、その上のデータは読まれる、印刷される、ファイリングされるためのものであって — 再計算されるためのものではありません。PDFの銀行明細書は残高を見せてくれますが、利息の前提を変更して列が更新されるのを見ることはできません。PDF内のテーブルはテーブルのように見えますが、その下ではページ上の座標に配置されたテキストに過ぎません。

XLSは作業用の形式です。すべての数値は行、列、データ型を持つセルに収まります。並べ替え、フィルター、ピボット、数式の追加、グラフの描画ができ、結果を下流のモデルに供給できます。表形式データがPDFで届き、次のステップが分析である場合、データはまずXLSになる必要があります。

PDFXLS
目的読み取りと印刷のための最終形態の出力分析と再計算のための作業用形式
セルと数式なし — ページに配置されたテキストネイティブのセル、数式、参照、グラフ
並べ替えとフィルターサポートされない組み込み
ピボットテーブル不可能ネイティブのExcel機能
手動コピー&ペーストの忠実度列が頻繁に1つに崩れる列は分離されたまま
対象者読者、アーカイブ、規制当局アナリスト、会計士、コントローラー

コマンドラインでPDFをXLSに変換する方法

ステップ1. Total PDF Converter Xをインストール

上のリンクからインストーラーをダウンロードし、Windowsサーバーまたはワークステーションで実行します。セットアップは1分以内で完了します。ブラウザやMicrosoft Excelのインストールは不要です — コンバーターは独自エンジンでPDFのテキストレイヤーを解析し、XLSファイルを直接書き出します。

ステップ2. コマンドプロンプトを開く

cmd.exeまたはPowerShellを開きます。コンバーターの実行ファイルはPDFConverter.exeで、インストールフォルダ(通常はC:\Program Files\CoolUtils\TotalPDFConverterX\)にあります。システムPATHに追加するか、コマンドでフルパスを使用してください。

ステップ3. 基本変換を実行

最もシンプルなコマンドは、フォルダ内のすべてのPDFファイルをXLSに変換します:

PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c XLS

このコマンドはC:\Reports\内のすべての.pdfファイルを処理し、変換後のXLSワークブックをC:\Output\に保存します。各PDFから同じベース名のXLSファイルが1つ生成されます。

ステップ4. レイアウトとログのオプションを追加

追加のフラグでワークブック出力を制御します:

PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c XLS -EachPageSeparate -log C:\Logs\pdf2xls.log
  • -EachPageSeparate — 各PDFページをワークブック内の独自のシートに配置
  • 列検出オプション — テーブルレイアウトが特殊な場合に、コンバーターが列境界をどう識別するかを調整
  • -log C:\Logs\pdf2xls.log — 検証用の変換ログを出力

ステップ5. .batファイルで自動化

コマンドを.batファイルに保存し、Windowsタスクスケジューラでスケジュールします:

@echo off
"C:\Program Files\CoolUtils\TotalPDFConverterX\PDFConverter.exe" C:\Incoming\*.pdf C:\Archive\XLS\ -c XLS -EachPageSeparate -log C:\Logs\pdf2xls.log

これにより、毎晩(または設定した任意の間隔で)抽出が実行され、結果を検証できるログファイルが出力されます。

ActiveX / COM統合

Total PDF Converter Xには完全なActiveXインターフェースが含まれています。.NET、VBScript、PHP、Python、Ruby、ASPなど、あらゆるCOM互換環境からコンバーターを呼び出せます。これにより、コマンドラインプロセスを外部起動することなく、独自のWebアプリケーション、イントラネットポータル、経理ワークフローにPDF-to-XLS抽出を組み込めます。

例(C#/.NET):

PDFConverterX Cnv = new PDFConverterX();
Cnv.Convert("C:\\Reports\\statement.pdf", "C:\\Output\\statement.xls", "-c XLS -EachPageSeparate -log c:\\Logs\\pdf.log");

例(PHP):

$c = new COM("PDFConverter.PDFConverterX");
$c->convert("C:\\Reports\\statement.pdf", "C:\\Output\\statement.xls", "-c XLS -EachPageSeparate -log c:\\Logs\\pdf.log");

同じ呼び出しがASP.NET、VBScript、Python、Ruby、Perl、JavaScript(Windows Script Host)でも動作します。WebアプリケーションでアップロードされたPDFを受け取り、リアルタイムでExcelワークブックをユーザーに返すことができます。

オンラインコンバーター vs Total PDF Converter X

機能オンラインコンバーターTotal PDF Converter X
バッチ処理一度に1ファイルのみバッチあたりファイル数無制限
ファイルのプライバシー明細書がサードパーティサーバーにアップロードされるファイルは自分のマシンから外に出ない
列の整列多くの場合、列が1つのセルに崩れるテキストレイヤーから列境界を検出
複数ページのワークブック1シートのみ、制御不可-EachPageSeparateでページごとに1シート
自動化手動のみコマンドライン、.bat、タスクスケジューラ、ActiveX
サーバー展開不可サーバー向け設計、GUI不要
Excelのインストール必須該当なし不要
インターネット必要はいいいえ

PDFからXLSへのコマンドライン変換が必要な場面

  • 残高累計のある銀行明細書。財務チームが12行から日次のPDF明細書を受け取ります。コンバーターが夜間に各取引をXLSに取り込み、翌朝チームはワークブックを資金ポジションモデルにインポートして元帳と照合します。
  • さらなる分析のための財務報告。四半期報告書はPDFで届きます。アナリストはピボットテーブルの構築、前年比較の実行、独自の数式の追加のために、Excel上の数値を必要とします。スクリプト化された抽出により、何百ページもがピボットすぐ可能なワークブックに変わります。
  • 規制明細項目の提出。コンプライアンスチームは、内部記録との相互チェックのため、大規模な規制PDFから明細項目をXLSに取り込みます。手動転記はエラーが起こりやすく、バッチ変換は毎回同じデータをセルに書き出し、差分比較に対応します。
  • 科学実験室データ。計測機器のソフトウェアは測定テーブル付きPDFレポートをエクスポートします。研究者はバッチ全体をXLSに変換し、計算 — 統計、誤差バー、グラフ — を続けます。スプレッドシートは元々プリントアウトとして始まったものでした。
  • 経理照合。ベンダーの請求書はPDFで届きます。買掛金担当はそれらをXLSに変換して明細項目を購買注文と照合し、不一致を浮かび上がらせ、結果をERPインポートに供給します。

Total PDF Converter Xを選ぶ理由

Excel不要

コンバーターは有効なXLSファイルを直接書き出します。サーバーにMicrosoft Office、LibreOffice、その他のスプレッドシートプログラムをインストールする必要はありません。これによりライセンスコストを回避し、無人シナリオでのExcel自動化のよく知られた不安定さを回避できます。

真のサーバーアプリケーション

Total PDF Converter Xは無人運用向けに設計されています。GUIウィンドウ、ダイアログボックス、確認プロンプトはありません。コマンドラインから、またはサービスの一部としてサイレントに実行されます — 本番サーバーに必要なものそのものです。

貼り付けテキストではなく本物のセル

XLS出力には、本物のデータ型を持つ本物のセルが含まれます。数値は数値、列は列のまま保たれ、Excelの機能 — 並べ替え、フィルター、数式、ピボットテーブル、グラフ — がすぐに動作します。区切り文字付きで1つのセルにダンプされたテキストではありません — 本物のワークブックです。

XLSだけではない

同じコマンドラインツールでPDFをDOC、XLSX、CSV、HTML、TIFF、JPEG、TXTなどに変換できます。1回のインストールで必要なPDF抽出ターゲットすべてに対応します。-c XLS-c CSVに変更するだけで、同じバッチ機能と自動化機能でCSV出力が得られます。コンバーターはテキストベースのPDFで動作することにご注意ください — 画像のみのスキャンPDFは先にOCRが必要であり、これは本製品に含まれません。

無料体験版をダウンロード

(30日間、メールやクレジットカード不要)

ライセンスを購入

(サーバーライセンス、永続版)

Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022


quote

トータルPDFコンバーターX 顧客レビュー 2026

評価
顧客レビューに基づく評価:4.7/5
5 Star

"当社では月に約180件のベンダー請求書と銀行明細書を処理しており、すべてPDFで届きます。Total PDF Converter Xは1つの.batジョブで一晩でそれらをXLSに変換します。列が正しく整列し、合計はソースと一致し、当社の照合マクロはERPからエクスポートされたファイルと同じようにワークブックを読み込みます。-EachPageSeparateフラグが決め手でした — 複数ページの明細書が口座ごとに1シートに収まるようになりました。"

5 Star Caroline Whitfield Senior Accountant, Regional Manufacturing Group

"監査人からの四半期末パッケージはPDFレポートで返ってきます。手作業でExcelに取り込むのは2日仕事でした。当社は社内のレポートツールにActiveXインターフェース経由でコンバーターを組み込み、チームはPDFをアップロードして数秒で動作するXLSを得るようになりました。ピボットテーブルと既存の分析数式が出力に対して直接動作します。サーバー上にOfficeのインストールが不要で、財務とITの両方が望んでいた点でした。"

5 Star Tobias Lindgren Financial Controller, Logistics SaaS

"サプライヤーの価格表は約30社のベンダーから毎週PDFで届きます。手作業でテーブルをコピーするのは信頼できませんでした — 列がしばしば崩れていました。コマンドラインコンバーターが毎週のロードの一部として各リストをXLSに取り込み、列境界は1社を除いて正しく検出されます(彼らのPDFは特殊なレイアウトを使用しています)。残りについては、ワークブックが価格モデルに直接供給されます。列検出フラグに関するドキュメントはもう少し詳しくしてほしいですが、サポートは同日中に返信してくれました。"

4 Star Priya Ramanathan Pricing Analyst, B2B Distributor

FAQ ▼

基本コマンドは PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c XLS です。ソースフォルダ内のすべてのPDFファイルをXLSに変換します。-EachPageSeparateを追加して各PDFページを独自のシートに、または-logで検証用ログを出力できます。
Total PDF Converter XはPDFのテキストレイヤーを読み取り、テキスト断片の水平座標を使用して列境界を識別します。ページ上で垂直方向に整列している数字は、XLSファイル内で同じ列に収まります。テーブルが特殊なレイアウトを持つ場合、列検出オプションで境界を微調整できます。
はい。-EachPageSeparateフラグを追加すると、コンバーターはPDFページごとに1つのシートを持つ複数シートワークブックを作成します。フラグなしでは、すべてのページが1つのシートに統合されます。各ページが異なる口座や期間をカバーする月次明細書に便利です。
はい。出力は数値セルを持つ本物のXLSワークブックなので、数式、参照、ピボットテーブル、グラフをすぐに追加できます。コンバーター自体は数式を埋め込みませんが — PDFから値を書き出します — 結果のすべてのExcel機能は、手入力されたワークブックと同じように動作します。
いいえ。Total PDF Converter XはテキストベースのPDF — コンバーターが読み取れる本物のテキストレイヤーを持つファイル — で動作します。画像のみのスキャンPDFは、テキストレイヤーを生成するために先にOCRが必要であり、OCRは本製品に含まれません。PDFビューアで検索可能なPDFであれば、変換できます。
コンバーターはUnicode XLSファイルを書き出すため、ソースPDFが標準的なテキストエンコーディングと埋め込みフォントを使用している限り、Latin-1、キリル、ギリシャ、CJK、その他のスクリプトが保持されます。通貨記号、小数点区切り、アクセント付き文字も変更されずに通過します。
はい。変換コマンドを.batファイルに保存し、Windowsタスクスケジューラに追加します。コンバーターはスケジュールされた時刻に無人で実行され、検証用のログファイルを出力します。これは夜間明細書処理や月末レポート抽出の標準パターンです。

Total PDF ConverterXの例

TotalPDFConverterXと.NETでPDFファイルを変換


string src="C:\\test\\Source.PDF";
string dest="C:\\test\\Dest.TIFF";

PDFConverterX Cnv = new PDFConverterX();
Cnv.Convert(src, dest, "-c TIFF -log c:\\test\\PDF.log");

MessageBox.Show("Convert complete!");

//フォームを操作
Cnv.LoadFromFile(src);
Cnv.SetFormFieldValue(0, "Test Name");
Cnv.SaveToFile(src);

ダウンロード .NET PDF Covnerterの例

Total PDF ConverterXでWebサーバー上でPDFファイルを変換

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\PDFConverterX.exe";
                sbLogs.AppendLine(executablePath + "...");
                var msgPath = $@"{assemblyDirectoryPath}\MSG\MSG.pdf";
                var outPath = Path.GetTempFileName() + ".tiff";
                startInfo.FileName = executablePath;

                if (File.Exists(outPath))
                {
                    File.Delete(outPath);
                }

                if (File.Exists(executablePath) && File.Exists(msgPath))
                {
                    sbLogs.AppendLine("files exists...");
                }
                else
                    sbLogs.AppendLine("EXE & MSG files NOT exists...");
                startInfo.WindowStyle = ProcessWindowStyle.Hidden;
                startInfo.Arguments = $"{msgPath} {outPath}";
                using (Process exeProcess = Process.Start(startInfo))
                {
                    sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
                    exeProcess.WaitForExit();
                    sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
                }

                int sleepCounter = 10;

                while(!File.Exists(outPath) && sleepCounter > 0)
                {
                    System.Threading.Thread.Sleep(1000);
                    sbLogs.AppendLine("sleep...");
                    sleepCounter--;
                }
                if (File.Exists(outPath))
                    sbLogs.AppendLine("Conversion complete successfully.");
            }
            catch (Exception ex)
            {
                sbLogs.AppendLine(ex.ToString());
            }

            return new OkObjectResult(sbLogs);
        }
    }
詳細情報 Azure.

Total PDF ConverterXでWebサーバー上でPDFファイルを変換

#include <windows.h>
static const CLSID CLSID_PDFConverterX =
  {0x6B411E7E, 0x9503,0x4793,{0xA2, 0x87, 0x1F, 0x3B, 0xA8, 0x78, 0xB9, 0x1C}};
static const IID IID_IPDFConverterX =
  {0xEF633BED, 0xC414,0x49B0,{0x91, 0xFB, 0xC3, 0x9C, 0x3F, 0xE0, 0x08, 0x0D}};

#undef INTERFACE
#define INTERFACE IPDFConverterX
DECLARE_INTERFACE_(IPDFConverterX, IDispatch)
{
    STDMETHOD(QueryInterface)(THIS_ REFIID, PVOID*) PURE;
    STDMETHOD(Convert)(THIS_ LPCTSTR, LPCTSTR, LPCTSTR) PURE;
    STDMETHOD(About)(THIS) PURE;
    //const SourceFile: WideString; const DestFile: WideString; const Params: WideString; safecall;
};

typedef HRESULT (__stdcall *hDllGetClassObjectFunc) (REFCLSID, REFIID, void **);

int main () {
  HRESULT hr;
  if (CoInitialize(NULL)) {
    printf ("Error in CoInitialize.");
    return -1;
  }

  LPCTSTR lpFileName = "PDFConverter.dll";
  HMODULE hModule;
  hModule = LoadLibrary (lpFileName);
  printf ("hModule: %d\n", hModule);
  if (hModule == 0) {
    printf ("Error in LoadLibrary.");
    return -1;
  }

  hDllGetClassObjectFunc hDllGetClassObject = NULL;
  hDllGetClassObject = (hDllGetClassObjectFunc) GetProcAddress (hModule, "DllGetClassObject");
  if (hDllGetClassObject == 0) {
    printf ("Error in GetProcAddress.");
    return -1;
  }
  IClassFactory *pCF = NULL;
  hr = hDllGetClassObject (&CLSID_PDFConverterX, &IID_IClassFactory, (void **)&pCF);
  /* Can't load with different ID */
  printf ("hr hDllGetClassObject: %d\n", hr);
  if (!SUCCEEDED (hr)) {
    printf ("Error in hDllGetClassObject.");
    return -1;
  }
  IPDFConverterX *pIN;
  hr = pCF->lpVtbl->CreateInstance (pCF, 0, &IID_IPDFConverterX, (void **)&pIN);
  printf ("hr CreateInstance: %d\n", hr);
  if (!SUCCEEDED (hr)) {
    printf ("Error in hDllGetClassObject.");
    return -1;
  }
  hr = pCF->lpVtbl->Release (pCF);
  printf ("hr Release: %d\n", hr);
  if (!SUCCEEDED (hr)) {
    printf ("Error in Release.");
    return -1;
  }
  hr = pIN->lpVtbl->About (pIN);
  printf ("hr About: %d\n", hr);
  if (!SUCCEEDED (hr)) {
    printf ("Error in About.");
    return -1;
  }
  hr = pIN->lpVtbl->Convert (pIN, "test.pdf", "test.html","-cHTML");
  printf ("hr Convert: %d\n", hr);
  if (!SUCCEEDED (hr)) {
    printf ("Error in Convert.");
    return -1;
  }

  return 0;
}

Total PDF ConverterXでWebサーバー上でPDFファイルを変換

dim C
Set C=CreateObject("PDFConverter.PDFConverterX")
C.Convert "c:\source.PDF", "c:\dest.HTML", "-cHTML -log c:\pdf.log"
set C = nothing
例2 ASP: 結果のTIFFを直接ストリーム
dim C
Set C=CreateObject("PDFConverter.PDFConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Rresponse.AddHeader "Content-Disposition", "attachment; filename=test.TIFF"
Response.BinaryWrite c.ConvertToStream("C:\www\ASP\Source.PDF", "C:\www\ASP", "-cTIFF  -log c:\PDF.log")
set C = nothing

Total PDF ConverterXでWebサーバー上でPDFファイルを変換

$src="C:\\test.pdf";
$dest="C:\\test.tiff";
if (file_exists($dest)) unlink($dest);
$c= new COM("PDFConverter.PDFConverterX");
$c->convert($src,$dest, "-c TIFF -log c:\doc.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;

Total PDF ConverterXとRubyでPDFファイルを変換

require 'win32ole'
c = WIN32OLE.new('PDFConverter.PDFConverterX')

src="C:\\test\\test.pdf";
dest="C:\\test\\test.tiff";

c.convert(src,dest, "-c TIFF -log c:\\test\\PDF.log");

if not File.exist?(dest)
  puts c.ErrorMessage
end

Total PDF ConverterXとPythonでPDFファイルを変換

import win32com.client
import os.path

c = win32com.client.Dispatch("PDFConverter.PDFConverterX")

src="C:\\test\\test.pdf";
dest="C:\\test\\test.tiff";

c.convert(src, dest, "-c TIFF -log c:\\test\\PDF.log");

if not os.path.exists(file_path):
  print(c.ErrorMessage)

PascalとTotal PDF ConverterXでPDFファイルを変換

uses Dialogs, Vcl.OleAuto;

var
  c: OleVariant;
begin
  c:=CreateOleObject('PDFConverter.PDFConverterX');
  C.Convert('c:\test\source.pdf', 'c:\test\dest.tiff', '-c TIFF -log c:\test\PDF.log');
  IF c.ErrorMessage<> Then
    ShowMessage(c.ErrorMessage);
end;

Total PDF ConverterXでWebサーバー上でPDFファイルを変換

var c = new ActiveXObject("PDFConverter.PDFConverterX");
c.Convert("C:\\test\\source.pdf", "C:\\test\\dest.tiff", "-c TIFF");
if (c.ErrorMessage!="")
  alert(c.ErrorMessage)

Total PDF ConverterXとPerlでPDFファイルを変換

use Win32::OLE;

my $src="C:\\test\\test.pdf";
my $dest="C:\\test\\test.tiff";

my $c = CreateObject Win32::OLE 'PDFConverter.PDFConverterX';
$c->convert($src,$dest, "-c TIFF  -log c:\\test\\PDF.log");
print $c->ErrorMessage if -e $dest;

その他の例

今すぐ作業を開始!

無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。

⬇ 無料トライアルをダウンロード Windows 7/8/10/11 • 127 MB

Support
トータルPDFコンバーターX Preview1

最新ニュース

ニュースレター購読

安心してください、スパムは送りません。


© 2026. 全著作権所有. CoolUtils File Converters

Cards