CSVファイルを文字切れ・崩れなしでPDFに変換する方法【Convert XLS】

CSVファイルをPDFに変換することは可能ですか?

もちろん可能です。CSVをPDFに直接変換することもできますが、列幅を保持できずに変換されるため、一部の文字が見切れてしまう場合(下図参照)があります。

テキストが見切れた事例

この問題を回避するために、本記事では CSVの内容を「列幅を設定した XLSXのテンプレートファイルに貼り付けて PDFに変換する方法」をご案内します。

目次

CSVからPDFへの変換手順 (GUI)

操作動画 (GUI)


TASK1:テンプレートファイルの作成と値のクリア

STEP
テンプレートファイルを作成

Excelで目的の列幅を保持したテンプレートファイル (ひな形) を作成して、templatefile.xlsx として保存。

ページ余白や縦横など、印刷プレビューを使用して目的の状態に調整しておきましょう。

STEP
実行するアクションの選択

「実行するアクションの選択」で [ファイルに対する特殊処理] を選択。

特殊処理
STEP
特殊処理 112 を選択

「特殊処理」で「 [112] (*.XLS)セル内容クリア」を選択し、入力・出力ともに同じファイルC:\IN\templatefile.xlsxを指定。

STEP
タスクに処理を追加

追加ボタン をクリックしてタスクに処理を追加。


TASK2:CSVのデータをテンプレートファイルにコピー

STEP
実行するアクションの選択

「実行するアクションの選択」で [ファイルに対する特殊処理] を選択。

特殊処理
STEP
特殊処理 101 を選択

「特殊処理」の項目で「 [101](*.XLS)指定したシートのデータから同じまたは別の XLS ファイルにコピー」 を選択。

特殊処理101
STEP
入力・出力ファイルを指定

入力ファイルに目的の CSVファイルを指定し、出力ファイルには templatefile.xlsx を指定。

STEP
タスクに処理を追加

追加ボタン をクリックしてタスクに処理を追加。


TASK3:PDFに変換

STEP
実行するアクションの選択

「実行するアクションの選択」で [ファイルの変換] を選択し、「変換方式」で [MS Excel] を選択。

STEP
入力・出力ファイルを指定

入力ファイルに templatefile.xlsx を指定。

「出力ファイル形式」で [-1] PDF (*.PDF) を選択し、出力ファイルの保存先とファイル名を指定。

Convert XLS のPDF出力

ファイルパスの直接入力 または [ファイル] ボタンから指定。

STEP
タスクに処理を追加

追加ボタン をクリックしてタスクに処理を追加。

STEP
変換を開始

変換開始ボタンをクリックして変換を開始。


CLI/バッチファイルからの実行手順

GUIで登録した「変換ジョブを利用する方法」と、「コマンドのみで実行する方法」があります。

  • 変換ジョブを利用する方法は、設定が用意であることや、コマンドに関する知識が少なくても実行できることです。
  • コマンドのみで実行する方法は、出力するファイル名の末尾に日付を追加することや、外部システムと連携しやすい点など、応用性が高い点がメリットです。
変換ジョブを利用する方法

操作動画:変換ジョブを利用する方法 (CLI)

変換ジョブを利用する操作手順

STEP
タスクを登録

CSVからPDFへの変換手順 (GUI)』に沿って全てのタスクを登録。

STEP
変換ジョブを保存

[ファイル][変換ジョブを名前を付けて保存] の順にクリックして、登録したタスクを変換ジョブとして保存。

ファイルメニュー
STEP
ジョブを実行

コマンドプロンプトを開いて /J スイッチを付けてジョブファイルを実行。

ConvertXLS /J"C:\IN\job\ジョブファイル名.SII"
コマンドのみで実行する方法

本記事のサンプルでは、ファイル名の末尾に日付を追加して別のフォルダに保存しています。

操作動画:バッチファイルで CSV を PDF に変換

動画では、以下でご案内する 3つのコマンドサンプルを 1つにまとめたBATファイルを実行しています。


TASK1:テンプレートファイルの内容をクリア

ConvertXLS /S "C:\IN\templatefile.xlsx" /T "C:\IN\templatefile.xlsx" /P112 /1 2 /2 1 /3
/S

入力ファイルを指定 (引用符の使用を推奨)

/T

出力ファイルを指定 (引用符の使用を推奨)

/P112

特殊処理「(.XLS) セル内容クリア」

/1#

クリアする内容を指定する追加パラメータ (2は内容をクリア)

/2#

処理対象のシート名または番号を指定 (サンプルでは1番目のシートを指定)

/3#

クリアを実行するセル範囲の指定 (使用範囲とする場合は空白のまま)

TASK2:CSVのデータをテンプレートにコピー

ConvertXLS /S "C:\IN\ファイル名.csv" /T "C:\IN\templatefile.xlsx" /P101 /1 1 /6 1
/S

入力ファイルを指定 (引用符の使用を推奨)

/T

出力ファイルを指定 (引用符の使用を推奨)

/P101

特殊処理「(.XLS) 指定したシートのデータから~」

/1#

入力ファイルのシートを指定 (サンプルでは1番目のシートを指定)

/6#

出力ファイルのシートを指定 (同上)

TASK3:PDFに変換

ConvertXLS /S "C:\IN\templatefile.xlsx" /T "C:\OUT\ファイル名_%date:/=%.pdf" /C-1 /M1 /V 
/S

入力ファイルを指定 (引用符の使用を推奨)

/T

出力ファイルを指定 (引用符の使用を推奨)

/C-1

出力ファイルの種類 (-1 は PDFでの出力を指定)

/M1

変換方式を指定 (1 は MS Excel 方式)

/V

詳細モード (変換結果をメッセージボックスで表示)

%date:/=% は、Convert XLS の変数ではありません。

目次