Atul Rokade Ответов: 1

Как создать PDF-файл на печать предварительный просмотр закрыть событие


Всем привет,

Я хочу создать PDF-файл и сохранить его на локальном компьютере в диалоговом окне предварительного просмотра печати, для этого я использовал стороннюю библиотеку PDFSharp-MigraDocFoundation-1_32 dll


я сделал кодирование, но не понимаю, как передать диалоговое окно printpreview в этом

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

using PdfSharp;
using PdfSharp.Drawing;
using PdfSharp.Pdf;

  private void printPreviewDialog1_FormClosing(object sender, FormClosingEventArgs e)
        {
            PdfDocument pdf = new PdfDocument();
            pdf.Info.Title = "Sales_Information";
            PdfPage pdfPage = pdf.AddPage();
            XGraphics graph = XGraphics.FromPdfPage(pdfPage);
            XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
            graph.DrawString(printPreviewDialog1,font, XBrushes.Black, new XRect(0, 0, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.Center);
            string pdfFilename = "Sales_Information_"+DateTime.Now.ToString("dd/MM/yyyy")+".pdf";
            pdf.Save(pdfFilename);
         
           
            
        }

1 Ответов

Рейтинг:
0

Garth J Lancaster

не совсем уверен, что вы подразумеваете под этим-у меня есть процесс, который создает PDF-файлы, а затем позволяет пользователю просматривать их-я делаю это с помощью

System.Diagnostics.Process.Start(@"c:\aPath\somePDF.pdf");


Он использует любое приложение по умолчанию на компьютере пользователя/клиента для просмотра PDF-файла - они могут печатать/сохранять/что угодно оттуда - он работает независимо от того, используется ли его Acrobat или Foxit. Я действительно запускаю проверку, когда программа запускается, чтобы убедиться, что у них есть приложение по умолчанию, которое "может обрабатывать" pdf, но это совсем другая история

Я мог бы написать форму предварительного просмотра, я думаю, что MigraDoc/PDFsharp включает в себя один, но я использую iTextSharp и не хочу смешивать PDF-стеки