FPDFを使用して文字を PDF として動的に作成するスクリプトがあります。読み込み時に印刷ダイアログを表示するAutoPrint 機能を動作させることができました。
前のリンクには AutoPrintToPrinter と呼ばれる別の機能があり、条件付きで大音量の印刷をサイレントにすることが想定されています。
function AutoPrintToPrinter($server, $printer, $dialog=false)
{
//Print on a shared printer (requires at least Acrobat 6)
$script = "var pp = getPrintParams();";
if($dialog)
$script .= "pp.interactive = pp.constants.interactionLevel.full;";
else
$script .= "pp.interactive = pp.constants.interactionLevel.automatic;";
$script .= "pp.printerName = '\\\\\\\\".$server."\\\\".$printer."';";
$script .= "print(pp);";
$this->IncludeJS($script);
}
プリンターとサーバーの名前はわかっていますが、何も起こりません。「うるさい」印刷を要求しても、ダイアログ ボックスすら表示されません。
この問題に関するAdobeチュートリアルも見て、次の修正されたコードを試しました
var pp = this.getPrintParams();
pp.interactive = pp.constants.interactionLevel.automatic;
pp.printerName = "Adobe PDF";
this.print(pp);
すべて運が悪い。