CubePDF のメイン画面を非表示にする方法

CubePDF に対して、最も要望の多い機能の一つにメイン画面(ダイアログ)を非表示にしたいと言うものがあります。各種アプリケーションから CubePDF プリンターを選択して印刷ボタンを押すと、あらかじめ設定しておいた内容で自動的に変換処理を実行して欲しいと言う要望です。

この機能は、残念ながら CubePDF では実現できませんが(今後も、CubePDF としては追加する予定はありません)、カスタマイズ版 CubePDF と位置付けている CubeVP であれば実現可能です。先日、CubeVP に対して個人利用であれば無償で利用可能なライセンス を新設したので、ここでは CubeVP を用いて CubePDF のメイン画面を非表示にする方法を記載します。

CubeVP のインストール

このチュートリアルを実行するには、CubeVP があらかじめインストールされている必要があります。CubeVP は、CubeVP の Web ページ よりダウンロードする事ができます。尚、CubeVP ライセンスの詳細や、広告(バンドルウェア)の内容については下記を参照下さい。

CubePDF のメイン画面を非表示にする仮想プリンターを追加

まず、Releases - Cube.Vp.Docs から CubePDF の変換処理のみを実行する CubePDF Lite をダウンロードします。 ご利用端末の Windows が 32bit 版の場合は末尾が x86 のもの、64bit 版の場合は末尾が x64 のものとなります。 どちらを利用して良いか分からない場合、32bit 版のものをダウンロードして下さい。

CubePDF Lite をダウンロード

次に、ダウンロードした圧縮ファイルを適当なフォルダに解凍・展開して下さい。 この際、解凍フォルダは SYSTEM アカウントもアクセス可能である必要があります。 SYSTEM アカウントはユーザのデスクトップにはアクセスできない のでご注意下さい。 今回は、下記のフォルダに解凍したとします。

C:\UserProgram

解凍が完了したら、デスクトップのショートカット等から CubeVPM を起動します。 起動すると、下図のような画面が表示されますので、プリンター名は適当な名前、 アプリケーションには先ほど解凍したフォルダにある CubePdfLite.exe を指定して OK ボタンを押します。

CubePdfLite.exe を指定して新しい仮想プリンターを作成

これで仮想プリンターの作成は完了です。 Google Chrome など、適当なアプリケーションから印刷ボタンを押すと、 先ほど作成した名前のプリンターが一覧に表示されるので、それを選択して印刷を実行してみます。 サンプルプログラムでは、変換された PDF ファイルがデスクトップに保存されます。

CubePDF と同等の仮想プリンターを追加

Releases - Cube.Vp.Docs では、別のサンプルとして CubePDF のアプリケーション部分を公開しています(cubepdf-1.2.1-x86.zip 等)。

これは CubePDF が利用しているプログラムと完全に同一のもので、この圧縮ファイルを解凍して適当な場所に保存し、先ほど説明した手順(CubePdfLite.exe の代わりに CubePdf.exe を指定)を踏む事で、CubePDF と同等の機能を持つ仮想プリンターを作成する事も可能です。CubePDF を含めて、全ての仮想プリンターを CubeVP で一元管理したい時などにご検討下さい。

さらに使いこなすために

CubePDF の変換処理に対して何らかのカスタマイズを行いたい場合、 Cube.Pdf.Converter のドキュメント を参照下さい。

また、Examples/CubePdfLite には、 今回使用した CubePDF Lite のプロジェクト一式が公開されているので、テンプレート用のプロジェクトとして利用する事もできます。このプロジェクトでも利用している CubePDF SDK は 、GUI 以外の CubePDF メイン処理を手軽に実装するものとなっています。今回のような CubePDF の GUI を表示せずに変換処理を実行する程度のプログラムであれば、下記のように、数行の記述で実現する事ができます。

// using System.Reflection;
// using Cube.Pdf.Converter;

static void Main(string[] args)
{
    var settings = new SettingFolder(Assembly.GetExecutingAssembly());
    settings.Load();
    settings.Set(args);

    using var facade = new Facade(settings);
    facade.Invoke();
}

その他のドキュメントは CubeVP および CubePDF SDK ユーザーマニュアル を参照下さい。