PRTGRAPH

2008年05月06日

状況依存ヘルプ

ダイアログの?をクリックしてコントロールのバルーンヘルプを表示するには、HelpWorkShopで作成したヘルプファイルをインストールします。

ヘルプファイルの作成手順
PRTGRAPH.hpjプロジェクトファイルを作成し、MicrosoftWordを使ってrtf形式でヘルプファイルを作成します。
検索項目を脚注として挿入し、1ページに1項目作成します。
脚注と検索番号をヘッダファイルで定義して、ヘルプコンパイラを起動してコンパイルするとprtgraph.hlpファイルが作成されます。



yamama009ma at 14:15|この記事のURLComments(0)TrackBack(0)

PRTGRAPHにイベントログと状況依存ヘルプを追加

PRTGRAPHにイベントログの追加、状況依存ヘルプの追加
コードの一部修正を行って更新しました。ver1.1.4.9

イベントログではイベントビューアのアプリケーションログに印刷エラーや画像変換のエラーを記録します。
イベントログの登録には
RegiserEventSource()によりイベントログのハンドルを取得して
ReportEvent()によりエラー番号を登録します。
DeregisterEventSourceによりハンドルを閉じます。

またイベントログにメッセージを表示させるためには
イベントログに対応したメッセージをDLL等にリンクしてレジストリに登録する必要があります。
メッセージはprtgraph.mcファイルに以下のような形式で作成します。

MessageId=2
Severity=Error
Facility=Error
SymbolicName=MSG_OUTPUT_WRITE_ERROR
Language=Japanese
出力画像ファイルの作成に失敗しました。%n
出力先の空き容量の確認をしてください。

メッセージファイルは
mc prtgraph.mcとして変換しリソースファイルprtgraph.rcとprtgraphmsg.bin等に変換します
レジストリはWindowsInstallerで登録しますが、HKLM/System/CurrentControlSet/Services/EventLog/Application/PRTGRAPH/EventMessageFileにDLLファイルのパスを登録します。

以上でイベントビューアに登録されたエラーのメッセージ表示が可能になります。



yamama009ma at 11:47|この記事のURLComments(1)TrackBack(0)

2008年03月23日

カスタム用紙の作成アプリケーションを追加

WindowsアプリケーションとしてPRTGRAPHのカスタム用紙作成プログラムを追加しました。
規定のサイズの用紙A4等と比較しながら、mm,インチ、ピクセル数からカスタム用紙を作成できます。
ただしPRTGRAPHの登録ユーザ専用です。
フリーバージョンでは用紙名は固定ですが従来通りaddform.exeを使用できます。
PRTPAPER カスタム用紙を作成

yamama009ma at 23:43|この記事のURLComments(0)TrackBack(0)

2008年02月24日

PRTGRAPHにカスタムサイズの用紙を追加する方法

PRTGRAPHは仮想プリンタですので、出力画像の用紙サイズを自由に指定する事ができます。
version1.1.4.6にコマンドラインからカスタムサイズの用紙を追加する為のプログラムaddform.exeを追加しました。

またプログラムから指定する場合はプリンタ用のAPIを使うことで同様に設定出来ます。

Windows2000,xp,vistaではカスタムサイズの用紙としてプリンタにFormを追加して使用します。
最初にPRTGRAPHプリンタをOpenPrinter()により開きます。
Formには追加する用紙名と用紙サイズを設定し、
AddForm()で追加します。
最後にClosePrinter()で閉じるとPRTGRAPHプリンタに指定の用紙が追加されます。
addform.exeでは用紙名PRTGRAPH_UserPaperを追加していますが、
AddForm()を使用すると幾つでも追加できます。

Formで指定する用紙のサイズは1/1000mm単位になりますので、出力されるピクセル数は
size/1000/25.4*dpiになります。

画像は96dpiで200mm X 200mmのカスタム用紙に透かしを設定して出力したものです。
カスタムサイズの用紙

yamama009ma at 00:41|この記事のURLComments(0)TrackBack(0)

2008年02月17日

プログラムからPRTGRAPHの設定を行う方法

PRTGRAPHの設定はプロパティを開きデバイス設定タブから行いますが、
バッチやコマンドプロンプトから変更したい場合は1.1.4.5に同梱しsetprtgraph.exeを利用できます。

プログラムから設定する場合はOpenPrinter()でPRTGRAPHプリンタのハンドルを開き、SetPrinterData()を使ってプリンタのレジストリPrinterDariverDataのキーを設定する事ができます。

このAPIを使うには #include <winspool.h>を宣言します。
OpenPrinter()の第1引数には TEXT("PRTGRAPH virtual printer")を
第2引数には受け取るハンドル HANDLE hPrinterを
第3引数にはアクセス属性を設定するため PRINTER_DEFAULTS Defaultを設定します。

 TCHAR pPrinterName[]=TEXT("PRTGRAPH virtual printer");
 HANDLE hPrinter;
 PRINTER_DEFAULTS Default = {NULL, NULL, PRINTER_ALL_ACCESS};
 BOOL bres = OpenPrinter(pPrinterName, &hPrinter, &Default);
 if(FALSE == bres){
    printf("Can't open printer %ws\n", pPrinterName);
    return bres;
 }
//パラメータはSetPrinterData()またはSetPrinterDataEx()APIで指定します。
 wres = SetPrinterDataEx(hPrinter,strprimkey[keytbl[idx].primkey], keytbl[idx].regkey, keytbl[idx].type, (LPBYTE)argv[2], (DWORD)wcslen(argv[2])*sizeof(TCHAR));
//最後はハンドルを閉じます。
ClosePrinter(hPrinter);


yamama009ma at 19:55|この記事のURLComments(0)TrackBack(0)

2008年02月03日

PRTGRAPHのファイル名に印刷ジョブIDを追加しました。

http://www.ksky.ne.jp/~yamama/prtgraph/prtgraph1144.lzh
Excelの複数シートをまとめて印刷した時に、ドキュメント名は同じですが、シートに別のジョブIDが割り当てられる事があり、ファイル名が重複しますので、ファイル名にジョブIDを追加出来るオプションを追加しました。
ドキュメント名が空欄のシートもドキュメント名を引きつぐように動作を変更しました。
アプリケーションによって印刷のドキュメントとページ指定が統一されてないようなので、ファイル名のオプションの組み合わせる必要がありそうです。


yamama009ma at 20:49|この記事のURLComments(6)TrackBack(0)

2008年01月21日

PRTGRAPHの透かし正式版リリース

透かし仕様をリリースしました。
組み込みの透かし画像の容量が大きかったので、モノクロに変換しました。
単純に1/24のサイズになりました。
ユーザ指定画像ならgif,jpeg,pngのカラー画像も指定できます。
透かし合成に使っているアルファブレンドの合成率は10%ですが将来的には指定できるようにする必要があるかも知れません。
埋め込み画像は縦横4倍までは拡大してサイズを合わせますが、それ以上は4倍固定です。
組み込み文字列は「秘」「社外秘」「部外秘」「複写禁止」「回覧」「サンプル」があります。


yamama009ma at 11:16|この記事のURLComments(6)TrackBack(0)

2008年01月08日

PRTGRAPHに透かし指定を追加しました

透かしの設定機能をベータ版として公開しました。
組み込み画像として「社外秘」「複製禁止」等を登録しましたが、他に必要な画像を追加した後に正式版としてリリースする予定です。
組み込み画像以外ではユーザがjpeg,png,gif画像を指定することもできます。
またインストール手順を変更して初回インストールにポート名を指定する以外は自動化しました。

透かし


yamama009ma at 23:58|この記事のURLComments(2)TrackBack(0)

2007年12月30日

PRTGRAPHにPDFフォーマットの出力を追加

年内最後の更新分として出力画像フォーマットにPDFを追加しました。
ファイルは1ページ1PDFとして出力します。
PRTGRAPHとは
PDFのフォーマットではXObjectのイメージタイプとして生成していますので、ラスタライズされた埋め込み画像になります。


yamama009ma at 23:16|この記事のURLComments(4)TrackBack(0)

2007年12月24日

PRTGRAPHにTIFF形式画像の出力を追加しました

JPEG,GIF,PNGと同様にTIFF形式の画像出力を追加しました。
選択方法はプリンタのプロパティの「デバイスの設定」タブから指定します。


yamama009ma at 00:06|この記事のURLComments(0)TrackBack(0)