*印刷 [#z7e4b356] 印刷してみます。印刷には com.sun.star.view.XPrintable インターフェースのメソッドを使用します。 #contents **印刷 [#yd7f19ab] 印刷するにはドキュメントオブジェクトの ''print'' メソッドを使用します。 >void ''print''( []com.sun.star.beans.PropertyValue xOptions ) xOptions: 印刷時の引数 xOptions には .view.PrintOptions サービスのプロパティーを指定します。 ,.view.PrintOptions,== ,プロパティー, ,integer ''CopyCount'',印刷する部数 ,string ''FileName'',ファイルへ印刷するときのファイル名 ,boolean ''Collate'',ページ順に並べるかどうか ,boolean ''Sort'',Collate の方を使用するべき ,string ''Pages'',印刷するページ番号 まずは,PrintOptions を特に使用せずに印刷してみます。 Sub print_1 Dim oDoc As Object Dim aPrintOption(0) As New com.sun.star.beans.PropertyValue oDoc = ThisComponent oDoc.print(aPrintOption()) End Sub 印刷する部数の指定や印刷するページを指定してみます。1 ページと 3 から 5 ページを 2 部ずつ印刷します。 Sub print_2 Dim oDoc As Object Dim aPrintOption(1) As New com.sun.star.beans.PropertyValue oDoc = ThisComponent aPrintOption(0).Name = "CopyCount" aPrintOption(0).Value = 2 aPrintOption(1).Name = "Pages" aPrintOption(1).Value = "1,3-5" oDoc.print(aPrintOption()) End Sub **プリンタの設定 [#f678ebbc] 印刷するプリンターを設定します。 プリンターの設定には ''setPrinter'' メソッドを使用します。また,設定の取得には ''getPrinter'' メソッドを使用します。 >void ''setPrinter''( [].beans.PropertyValue aPrinter ) >com.sun.star.beans.PropertyValue ''getPrinter''() aPrinter には次の値を使用します。 ,.view.PrinterDescriptor,== ,string ''Name'',プリンター名 ,.view.PaperOrientation ''PaperOrientation'',用紙方向 ,.view.PaperFormat ''PaperFormat'',用紙のフォーマット (サイズ) ,.awt.Size ''PaperSize'',用紙サイズ ,[readonly] boolean ''IsBusy'',プリンターがビジーかどうか ,[readonly] boolean ''CanSetPaperOrientation'',用紙方向を設定することができるかどうか ,[readonly] boolean ''CanSetPaperFormat'',用紙のフォーマットを設定することができるかどうか ,[readonly] boolean ''CanSetPaperSize'',用紙のサイズを設定することができるかどうか プリンター名にはメニュー > ファイル > 印刷 で表示されるダイアログのリストに表示されるものから名前を使用します。 用紙方向は ''PaperOrientation'' に .view.PaperOrientation の enum を使用して設定します。 ,.view.PaperOrientation,== ,PORTRAIT,縦 ,LANDSCAPE,横 用紙フォーマットは ''PaperFormat'' に .view.PaperFormat を使用して設定します。 ,.view.PaperFormat,== ,A3,A4 ,A5,B4 ,LETTER,LEGAL ,TABLOID,USER 用紙サイズを設定する必要があるときには ''PaperSize'' に .awt.Size を使用して設定します。ここで設定する必要があるのは, ''PaperFormat'' を .view.PaperFormat.USER に設定したときです。 ,.awt.Size,== ,WIDTH,幅 ,HEIGHT,高さ プリンターを選択して,用紙を縦, A4 にして印刷するときには次のようにします。8 行目の PrinterName のところを使用するプリンター名に変更してください。 Sub print_3 Dim oDoc As Object Dim aPrintOption(0) As New com.sun.star.beans.PropertyValue Dim aPrinter(2) As New com.sun.star.beans.PropertyValue oDoc = ThisComponent aPrinter(0).Name = "Name" aPrinter(0).Value ="PrinterName" aPrinter(1).Name = "PaperOrientation" aPrinter(1).Value = com.sun.star.view.PaperOrientation.PORTRAIT aPrinter(2).Name = "PaperFormat" aPrinter(2).Value = com.sun.star.view.PaperFormat.A4 oDoc.setPrinter(aPrinter()) oDoc.print(aPrintOption()) End Sub |