pdfやhtmlを印刷したいと思います。
これを自動で印刷する、しかもキーボード操作なしで、アドレスをブラウザに入力してページに遷移しただけで印刷するjavascriptはできますか?IE8を想定しています。セキュリティの設定などはあらかじめ任意に設定できるものとします。
pdfは「pdfを表示するhtmlに自動印刷のjavascriptを記述したもの」で印刷して、
htmlは「htmlに自動印刷のjavascriptを記述したもの」で印刷する、
そのjavascriptについてお聞きしたいと思います。
●VBA IE操作 JavaScriptの挿入(promptとalertをつぶす)
http://ken3-info.blog.ocn.ne.jp/objie/2010/04/vba_ie_javascri.html
標準関数であるpromptやalertを上書きする処理ですが、これを応用してできるのではないかと思いましたが、知識が足りませんので皆様のお力をお借りしたいと思いました。
その他、追加事項をコメント欄に書きました。よろしくお願いします♪
【1】ブラウザ外部の部分まで自動化はできません
ブラウザ内部から印刷の自動実行が実現出来てしまうと、
ブラウザクラッシャーどころの騒ぎではなくなってしまいます
(ページを開くだけで大量に自動プリントされたら大変ですよね)
ただし、HTMLであれば下記で印刷ダイアログが出るところまでは自動化できます
<body onload="self.print();">
関数として定義しておくならば下記のようになります
<script type="text/javascript"> <!-- function autoPrint() { self.print(); } //--> </script> </head> <body onload="autoPrint();">
【2】PDFプラグインの監視や制御は見当たりません
PDFはブラウザに組み込まれたプラグインが独自に非同期通信を行うため、
監視(完全に読み込まれたかどうかの判断など)も制御(印刷など)も用意されていないようです
【3】外部からであれば可能であるかもしれません
今回の質問と路線が逆(内から外ではなく、外から内)なので参考までとさせていただきますが、
VBAなどを使ってIE8やAdobeReaderを操作するという形でよければ可能かもしれません
(1)HTML
VBA+IEでWEBページが表示されるまで待ってからブラウザの印刷機能を使えば良いでしょう
印刷に関しては、こちらもken3さんが示してくださってますので検証は楽でしょう
http://ken3-info.blog.ocn.ne.jp/day/2009/06/qa_vba_ie_9a3d.html
(2)PDF
VBA+AdobeReaderで同様のことが可能なようですが、こちらは経験ありません
http://kb2.adobe.com/jp/cps/255/2556.html
Adobe Reader 7.0 と Adobe Reader 8.0 では DDE メッセージによるコントロールに加えて、
OLE オートメーションを利用して PDF 文書の閲覧や印刷を制御することが可能です。
古いものですが8.0の開発者向けガイドです
http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CCoQFjAA&u...
ちょうど回答オープンの日から所要があり出かけていたので、返答が遅くなりすみませんでした。
詳しい方法をありがとうございます。やはり印刷ダイアログまでで、あとは手動ですかね・・・。VBAアプリをクライアント側に導入すれば、所望の動作が可能ということですね。できれば、ブラウザのみで実装したいのですが、不可能ということであれば、検討してみたいと思います。
参考にさせて頂きます!