2016-07-02 6 views
0

Ich versuche, in "# custom" zu drucken. Ich habe wirklich hart daran gearbeitet und habe unter dem Code geschrieben.Programmgesteuertes Drucken in PDF mit "Microsoft Print to PDF" in C# Windows 10

Er erstellt eine leere PDF-Datei, anstatt sie mit dem Inhalt von I zu füllen, den ich an den Drucker gesendet habe.

Konnte mir jemand helfen?

try 
{ 
    PrintDocument pd = new PrintDocument(); 
    ProcessStartInfo info = new ProcessStartInfo("E:\\ba\\Asp.pdf"); 
    info.Verb = "Print"; 
    pd.PrinterSettings.PrintToFile = true; 
    pd.PrinterSettings.PrinterName = "Microsoft Print to PDF"; 
    pd.PrinterSettings.PrintToFile = true; 
    pd.PrinterSettings.PrintFileName = Path.Combine("e://", "hktespri" + ".pdf"); 
    pd.Print(); 
    info.CreateNoWindow = true; 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 

} 
+0

Printfile ist nicht der Dateipfad Sie bereitstellen drucken zu drucken. Es ist nur der Name, der in der Druckerwarteschlange angezeigt wird. – csensoft

+0

Haben Sie dieses Problem gelöst? Ich habe das gleiche Problem – Alpay

+0

Hallo Alpay, Meine Lösung ist es, "Microsoft Print to PDF" Drucker zu ersetzen und verwenden Sie iutxtsharp.Ich hoffe, dass dies hilft.Wenn Sie immer noch Probleme haben, kontaktieren Sie mich bitte an meine E-Mail: [email protected] –

Antwort

0

Sie haben nicht angegeben, was Sie im PDF-Dokument drucken sollen. here mein Code, den ich es bin mit meiner Platte für mit

protected void btnPrint_Click(object sender, EventArgs e) 
    { 
     PrintDialog pd = new PrintDialog(); 
     PrintDocument pdoc = new PrintDocument(); 

     pdoc.PrintPage += pdoc_PrintPage; 

     if (pd.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      pdoc.Print(); 
     } 
    } 

    void pdoc_PrintPage(object sender, PrintPageEventArgs e) 
    { 
     Bitmap bitmap = new Bitmap(outerPanel.Width, outerPanel.Height); 
     outerPanel.DrawToBitmap(bitmap, new System.Drawing.Rectangle(5, 5, outerPanel.Width, outerPanel.Height)); 
     e.Graphics.DrawImage(bitmap, 5, 5); 
     bitmap.Dispose(); 
    }