C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: PDF変換


(過去ログ 24 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■10851 / inTopicNo.1)  PDF変換
  
□投稿者/ くー (15回)-(2007/11/28(Wed) 12:47:48)

分類:[VB.NET/VB2005] 

VB2005で、画面に値を入力すると計算し、計算値を印刷するというプログラムを作成してます。
計算値を印刷するところまで出来てまして、その印刷する結果をPDFに変換し保存したいと考えてます。

今は、「印刷」ボタン押下後、”印刷プレビューを表示しますか?”と聞き、
はいなら、プレビュー画面表示、いいえなら印刷ダイアログ画面表示が出てきます。
印刷ダイアログ画面のプリンターの選択で、”Adobe PDF”を選択し、印刷を押すと、
印刷されてしまいます。(Adobe Acrobat7.0使用)
”Adobe PDF”を選択したら、どこに保存するのか聞いてくる方法を教えてください。

[コード]
Dim selectButton As DialogResult
selectButton = MessageBox.Show("印刷プレビューを表示しますか?", "", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)

Select Case selectButton

 'はいが押された場合
 Case Windows.Forms.DialogResult.Yes
  PrintPreviewDialog.Document = PrintDocument
  PrintPreviewDialog.ShowDialog()

 'いいえが押された場合
 Case Windows.Forms.DialogResult.No
  Dim Ret As DialogResult
  PrintDialog1.PrinterSettings = New Printing.PrinterSettings
  Ret = PrintDialog1.ShowDialog()

   'okボタンを選択されたら印刷を開始する
   If Ret = Windows.Forms.DialogResult.OK Then
    PrintDocument.Print()
   End If
End Select

他のやり方で、「PDF作成」ボタンを作成し、押下後PDFファイルを作成するという方法も考えてます。
PDF作成方法を教えてください。
よろしくお願いします。
引用返信 編集キー/
■10853 / inTopicNo.2)  Re[1]: PDF変換
□投稿者/ HiJun (80回)-(2007/11/28(Wed) 13:00:02)
プリンタの"Adobe PDF"に印刷すればPDF変換できると
思いますがいかがですか?
引用返信 編集キー/
■10854 / inTopicNo.3)  Re[2]: PDF変換
□投稿者/ くー (16回)-(2007/11/28(Wed) 13:07:52)
No10853 (HiJun さん) に返信
> プリンタの"Adobe PDF"に印刷すればPDF変換できると
> 思いますがいかがですか?

お返事ありがとうございます。

プリンタの"Adobe PDF"に印刷すればPDF変換せず、印刷してしまいます。


引用返信 編集キー/
■10857 / inTopicNo.4)  Re[2]: PDF変換
□投稿者/ くー (17回)-(2007/11/28(Wed) 14:03:38)
No10853 (HiJun さん) に返信

プリンタの選択で"Adobe PDF"を選択してるのですが、
通常プリンタのままで印刷されてるみたいです。

そこで、
PrintDialog.AllowSelection = True
にしましたが、選択した内容が有効にならず、解決しませんでした。
どうしたら選択したプリンタが有効になるんでしょうか?
引用返信 編集キー/
■10862 / inTopicNo.5)  Re[3]: PDF変換
□投稿者/ くー (18回)-(2007/11/28(Wed) 16:23:58)
No10857 (くー さん) に返信
> ■No10853 (HiJun さん) に返信
>
> プリンタの選択で"Adobe PDF"を選択してるのですが、
> 通常プリンタのままで印刷されてるみたいです。
>
> そこで、
> PrintDialog.AllowSelection = True
> にしましたが、選択した内容が有効にならず、解決しませんでした。
> どうしたら選択したプリンタが有効になるんでしょうか?

PrintDialog.AllowSelection = Trueは、全然関係なかったです。
すみません。

とにかく、印刷時にプリンタを変更させたいのですが、
変更されず通常使うプリンタのまま印刷されます。
選択したプリンタが有効なる方法を教えてください。


引用返信 編集キー/
■10866 / inTopicNo.6)  Re[4]: PDF変換
□投稿者/ IIJIMAS (58回)-(2007/11/28(Wed) 17:37:28)
No10862 (くー さん) に返信

PrintDialog.Document プロパティ
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.printdialog.document.aspx
に実際にPrint()しているPrintDocumentインスタンスが設定されていますか?

#PrintDocument…変数名がクラス名と同じようですが大丈夫でしょうか?以下PrintDocument1とします。

PrintDialog1.ShowDialog()の行にブレークポイントを置いて、デバッグでステップ実行して

PrintDocument1.PrinterSettings
PrintDocument1.PrinterSettings.PrinterName
が"Adobe PDF"の選択に応じて変化するかどうかと、
PrintDocument.Print()の直前に"Adobe PDF"になっているかどうか
確認してみてください。
引用返信 編集キー/
■10867 / inTopicNo.7)  Re[4]: PDF変換
□投稿者/ HiJun (81回)-(2007/11/28(Wed) 17:48:15)
2007/11/28(Wed) 17:49:58 編集(投稿者)

PrintDialogクラスから戻ってきた時に、いきなりPrintDocument.Print()と
やっているから通常使うプリンタになってしまっているのだと思います。

PrintDialog1のOKボタン押下判定のIF文の中で、PrintDocumentクラス内の
PrinterSettingsクラスにPrintDialog1.PrinterSettingsクラスを
セットしてみてください。
引用返信 編集キー/
■11009 / inTopicNo.8)  Re[5]: PDF変換
□投稿者/ くー (19回)-(2007/12/04(Tue) 11:24:55)
No10867 (HiJun さん) に返信

返事遅くなり申し訳ございませんでした。

if文の後に
PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
を追加するといけました。

皆さんありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -