Drucken PDF-Datei und Doc-Datei mit C#

In meiner Anwendung, die ich bin versucht, zu erstellen eine Funktion zum drucken von PDF-Dokumenten oder Doc. Wie kann ich dies in C# und bieten einen Mechanismus, damit der Benutzer kann wählen Sie einen anderen Drucker oder andere Eigenschaften.

Ist, habe ich mich an den PrintDialog aber nicht sicher welche Datei es ist der Versuch zu drucken, wenn überhaupt, b/c ist die Ausgabe immer eine leere Seite. Vielleicht bin ich auch nur etwas fehlt dort.

Irgendwelche Tipps, Beispiele oder ein Beispiel code wäre Super!

Das unten ist mein code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
         public Form1()
         {
              InitializeComponent();
         }

         private void button1_Click(object sender, EventArgs e)
         {
              string printPath = 
                   System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
              System.IO.StreamReader fileToPrint;
              fileToPrint= new System.IO.StreamReader(printPath + @"\myFile.txt");
              System.Drawing.Font printFont;
              printPDF(e);
              printDocument1.Print();
              fileToPrint.Close();
         }

         private void button2_Click(object sender, EventArgs e)
         {
              //printDoc(e);
         }

         public void printPDF(object sender ,  
                              System.Drawing.Printing.PrintPageEventArgs e))
         {       
              printFont = new System.Drawing.Font("Arial", 10);
              float yPos = 0f;
              int count = 0;
              float leftMargin = e.MarginBounds.Left;
              float topMargin = e.MarginBounds.Top;
              string line = null;
              float linesPerPage = e.MarginBounds.Height /     
                                   printFont.GetHeight(e.Graphics);
              while (count < linesPerPage)
              {
                    line = fileToPrint.ReadLine();
                    if (line == null)
                    {
                         break;
                    }
              yPos = topMargin + count * printFont.GetHeight(e.Graphics);
              e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos,
                                  new StringFormat());
              count++;
              }

              if (line != null)
              {
                   e.HasMorePages = true;
              }

              fileToPrint.Close();        
         }

         public void printDoc()
         {
         }
     }
 }
  • kann ich sagen, dass Ihre Anwendung schon geladen, die Datei in den Speicher? Warum nicht veröffentlichen, was Sie versucht haben?
Schreibe einen Kommentar