Member 12926744 Ответов: 1

Преобразование printdocument в PDF


Всем привет,
Мне нужно преобразовать PrintDocument в Pdf . Как я могу это сделать?

Что я уже пробовал:

private void button1_Click(object sender, EventArgs e)
{
    PrintDocument p = new PrintDocument();


    p.DefaultPageSettings.PaperSize = new PaperSize("Custom", 755, 378);
    p.PrintPage += delegate(object sender1, PrintPageEventArgs e1)
    {
        e1.Graphics.DrawString(dateTimePicker1.Text, new Font("verdana", 10), new
       SolidBrush(Color.Black), new RectangleF(603, 95,
      p.DefaultPageSettings.PrintableArea.Width,
       p.DefaultPageSettings.PrintableArea.Height));
        e1.Graphics.DrawString(label3.Text, new Font("verdana", 10), new
        SolidBrush(Color.Black), new RectangleF(159, 171,
        p.DefaultPageSettings.PrintableArea.Width,
        p.DefaultPageSettings.PrintableArea.Height));

        e1.Graphics.DrawString(label5.Text, new Font("verdana", 10), new
        SolidBrush(Color.Black), new RectangleF(618, 278,
        p.DefaultPageSettings.PrintableArea.Width,
        p.DefaultPageSettings.PrintableArea.Height));
        e1.Graphics.DrawString(label7.Text, new Font("verdana", 10), new
        SolidBrush(Color.Black), new RectangleF(111, 218,
        p.DefaultPageSettings.PrintableArea.Width,
        p.DefaultPageSettings.PrintableArea.Height));
    };


    p.Print();


}



Вот что я сделал. Здесь вместо печати на принтере.Мне нужно сохранить его в виде Pdf-документа.Как я могу это сделать?Любая помощь будет очень признательна.

1 Ответов

Рейтинг:
1

Sipho Fana

Привет
Вы можете создать экземпляр SaveFileDialog, а затем отфильтровать его в любой документ, который вы хотите, в вашем случае это PDF. Вот вам и зеленый свет:

SaveFileDialog sfd = new SaveFileDialog();

private void btnSavePDF_Click(object sender, EventArgs e)
        {
            sfd.Title = "Save As PDF";
            sfd.Filter = "(*.pdf)|*.pdf";
            sfd.InitialDirectory = @"C:\";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                iTextSharp.text.Document doc = new iTextSharp.text.Document();
                PdfWriter.GetInstance(doc,new FileStream(sfd.FileName,FileMode.Create));
                doc.Open();
                doc.Add(new iTextSharp.text.Paragraph(rtb.Text));
                doc.Close();            
            }
        }


Тогда вы можете twik свой код.