2012-03-12 17 views
1

.NET(VB)Graphicsを使用して、事前定義された形式(税務書類など)でレポートを印刷/プレビューすることができます。VB.NET PrintDialogファイルを印刷する

また、1つ以上のさまざまなレポートを蓄積し、後でPDFに変換するためにファイルに保存したり、XPS印刷ドライバを使用して印刷したりすることもできます。

通常のレーザープリンタまたはXPSプリントドライバの場合は「ファイルにプリント」ボックスをチェックし、「プリント」をクリックすると、ファイルを開くダイアログボックスが表示されません(http://www.functionx.com/vcnet/controls/print.htm) 。操作は正常に進んでいるように見えますが、実際にファイルが作成されていれば、そのファイルをどこに見つけるかわかりません。

私には何が欠けていますか?誰もグラフィックレポートを蓄積し、ファイルに印刷または印刷する代わりの方法を提供できますか?

TIA

+0

なぜPDFプリンタを直接使用しないのですか? [PDFCreator](http://sourceforge.net/projects/pdfcreator/)や[BullZip](http://www.bullzip.com/)のように? – Steve

+0

私はPDFプリンタを検討します。任意のWindowsプラットフォームに(プログラムで)簡単にインストールできますか?残念なことに、これらのリンクの両方がむしろ疑わしい。 PDFCreatorはBabylon Toolbarとの統合に関する非常に悪いレビューを受けており、BullZipリンクは利用できません。 –

+0

PDFCreatorの場合、私は言うことはできません。何年も前に重くなったので、BullZipのために私は今日それを大きな満足感で使用しています。今すぐリンクをテストし、うまく動作します。 「プログラムでインストールされました」?私はいいえ、あなたのアプリケーションのインストール中にあなたとあなたの内部に彼らの設定を含めるか、顧客にインストール方法を指示する必要がありますと思う。 Webで「PDF Printer」を検索すると、他のソリューションへのリンクが見つかります。 – Steve

答えて

1

実際に印刷ダイアログがPrintDocumentインスタンスに関連付けられていますか?このようなコードはうまくいきます:

private void button1_Click(object sender, EventArgs e) { 
     printDocument1.PrinterSettings.PrintToFile = true; 
     printDocument1.PrinterSettings.PrintFileName = @"c:\temp\test.xps"; 
     printDocument1.Print(); 
    } 
+0

ありがとうHans。アクセス拒否エラーが発生していますが、少なくともファイルに書き込もうとしているようです。このエラーの回避策を知っていますか? –

+0

別のファイル名を渡すと思います。 appdataパスを使用します。 –

+0

ファイルを書き込んだ後に開くと、XPSビューアはこのドキュメントを開くことができないことを報告します。これはGraphicsオブジェクトを使って書かれたものなのでしょうか? –

0

なぜPDFプリンタを使用しないのですか?ネット上では、多くの無料のソリューションを見つけることができます。
私がもっと好きなのはBullZipですが、他にもオプションがあります。このようなソリューションを探す場合は、(アドウェアのツールバーや奇妙なライセンス条項のような)行き詰まりに気付いてください。
しかし、このシナリオには明確な利点があります。フォルダをドキュメントベースとして定義し、印刷するたびにPDFプリンタでPDFドキュメントを作成する場所を覚えておく必要があります。

関連する問題