Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在PrintPreview中另存为PDF_C#_Pdf_Print Preview - Fatal编程技术网

C# 在PrintPreview中另存为PDF

C# 在PrintPreview中另存为PDF,c#,pdf,print-preview,C#,Pdf,Print Preview,我有打印预览和打印的代码 private void button2_Click_1(object sender, EventArgs e) { printPreviewDialog1.Document = printDocument1; printPreviewDialog1.ShowDialog(); } private void printDocument1_PrintPage_1(object sender, System.Draw

我有打印预览和打印的代码

private void button2_Click_1(object sender, EventArgs e)
    {
        printPreviewDialog1.Document = printDocument1;
        printPreviewDialog1.ShowDialog();     
    }
private void printDocument1_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        e.Graphics.DrawImage(Logo.Image, 800, 100);
        e.Graphics.DrawString(label20.Text, label20.Font, Brushes.Black, 134, 100);
        e.Graphics.DrawString(label22.Text, label22.Font, Brushes.Black, 462, 100);
        e.Graphics.DrawString(textBox101.Text, textBox101.Font, Brushes.Black, 134, 230);
        e.Graphics.DrawString(textBox104.Text, textBox104.Font, Brushes.Black, 134, 270);

现在,如何使用另一个按钮单击操作或在打印预览窗口中将与打印预览相同的输出保存为PDF文件。

如果您已经使用WinForms的打印功能,安装PDF打印机程序将是最简单的解决方案,例如。安装后,它可以像真正的打印机一样使用,但会保存一个PDF文件


如果您想在应用程序中内置该功能,您应该签出。

如果您已经在使用WinForms的打印功能,安装PDF打印机程序将是最简单的解决方案,例如。安装后,它可以像真正的打印机一样使用,但会保存一个PDF文件


如果您想在应用程序中内置该功能,您应该签出。

如果您有兴趣创建自己的应用程序,您可以使用

在PrintPreviewDialugue中添加按钮

   class CustomPrintPreviewDialog : System.Windows.Forms.PrintPreviewDialog
    {
        public CustomPrintPreviewDialog()
            : base()

        {
            if(this.Controls.ContainsKey("toolstrip1"))
            {

                ToolStrip tStrip1 = (ToolStrip)this.Controls["toolstrip1"];
                ToolStripButton button1 = new ToolStripButton();
                button1.Text = "Save";
                button1.Click += new EventHandler(SaveDocument);
                button1.Visible = true;
                tStrip1.Items.Add(button1);
            }
        }

        protected void SaveDocument(object sender, EventArgs e)
        {
            // code for save the document
            MessageBox.Show("OK");
        }
    }

From:

如果您有兴趣创建自己的,您可以使用

在PrintPreviewDialugue中添加按钮

   class CustomPrintPreviewDialog : System.Windows.Forms.PrintPreviewDialog
    {
        public CustomPrintPreviewDialog()
            : base()

        {
            if(this.Controls.ContainsKey("toolstrip1"))
            {

                ToolStrip tStrip1 = (ToolStrip)this.Controls["toolstrip1"];
                ToolStripButton button1 = new ToolStripButton();
                button1.Text = "Save";
                button1.Click += new EventHandler(SaveDocument);
                button1.Visible = true;
                tStrip1.Items.Add(button1);
            }
        }

        protected void SaveDocument(object sender, EventArgs e)
        {
            // code for save the document
            MessageBox.Show("OK");
        }
    }

From:

我可以在我的printPreviewDialog1中添加这行吗?首先创建一个类似这样的类。您可以将其用作:
CustomPrintPreviewDialog对话框1=new CustomPrintPreviewDialog();dialog1.Show()你不再需要printpreviewdlg了。嗯,我不知道怎么做。我可以在我的printPreviewDialog1中添加这行吗?首先创建一个这样的类。您可以将其用作:
CustomPrintPreviewDialog对话框1=new CustomPrintPreviewDialog();dialog1.Show()你不再需要printpreviewdlg了。嗯,我不知道怎么做。