名前 題名 ▼ Noelさん > ▼ Mr.XRAYさん > > こんなところを参考にするとか・・・ > > > > [ ユーザ定義用紙の作成と削除] > > http://mrxray.on.coocan.jp/Delphi/plSetPrinter/M_SetUserPaper.htm > > > > [プリントサーバのプロパティで任意サイズの用紙作成] > > http://mrxray.on.coocan.jp/Delphi/plSetPrinter/B_FreeSizePaper.htm > > > > [テストプログラム UserSizePaper] > > http://mrxray.on.coocan.jp/Delphi/plSetPrinter/T_UserSizePaper.htm > > いつもご教授ありがとうございます。 > プリンター関連は、さっぱりなので、先人の足跡をたどっております。 > > さて、用紙の追加については、なんとか手動で、プリントサーバーの設定から行えました。 > > で、いろいろとDelphi-MLの過去ログも読み漁っていたら、NKPrinterを使ってPaperNumberを取得する方法が書いてありました(Delphi-ML:47725からのスレッド) > それをもとに、コードを書いてみて、プレビューの大きさがそれっぽく変わっていることを確認できました。 > > 以下コードですが、テストに使ったものを手打ちで書き込んでいるので、誤字などあるかもしれません。 > Delphi環境が、ネットに繋がっていないもので・・・。 > Button1をクリックして、ComboBox1で選択すると、用紙のPageNumberが表示されるので、その番号をSetPaperNumberにセットするといけるようです。 > > 間違いがあれば、ご指摘くださいませ。 > > > use NkPrinters; > > procedure TForm1.Button1.Click(Sender:TObject); > var > N: TNkPrinter; > begin > N := TNkPrinter.Create; > try > ComboBox1.Clear; > ComboBox1.Items.AddStrings(N.PaperSizeNames); > finally > N.Free > end; > end; > > procedure TForm1.ComboBox1Change(Sender: TObject); > var > N : TNkPrinter; > S1 : String; > begin > N := TNkPrinter.Create; > try > S1 := ComboBox1.Items[ComboBox1.ItemIndex]; > ShowMessage(S1 + ' = ' + IntToStr(N.PaperSizeNumbers[ComboBox1.ItemIndex])); > finally > N.Free; > end; > end; > > procedure TForm1.Button2.Click(Sender: TObject); > begin > // 今回のユーザー定義用紙サイズは102x216mm > plPrev1.DesignedPaperSize(1020, 2160); //適宜変更 > plPrev1.plSetPrinter.SetPaperNumber(146); //適宜変更。ComboBox1で選択した時に表示される番号を入れる > > plPrev1.BeginDoc; > plPrev1.EndDoc; > plPrev1.ShowModal; > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link