printer print imprimir ejemplos directly c# pdf printing pdfsharp

print - pdfsharp ejemplos c#



ImpresiĆ³n de PDF con PDFSharp (3)

Tengo el siguiente código:

using System; using System.Diagnostics; using System.IO; using PdfSharp.Pdf.Printing; namespace PrintPdfFile { class Program { [STAThread] static void Main(string[] args) { // Set Acrobat Reader EXE, e.g.: PdfFilePrinter.AdobeReaderPath = @"C://Documents and Settings//mike.smith//Desktop//Adobe Reader 9.0.exe"; // -or- //PdfPrinter.AdobeReaderPath = @"C:/Program Files/Adobe/[...]/AcroRd32.exe"; //// Ony my computer (running a German version of Windows XP) it is here: //PdfFilePrinter.AdobeReaderPath = @"C://Documents and Settings//mike.smith//Desktop//Adobe Reader 9.0.exe"; // Set the file to print and the Windows name of the printer. // At my home office I have an old Laserjet 6L under my desk. PdfFilePrinter printer = new PdfFilePrinter(@"C:/Documents and Settings/mike.smith/Desktop/Stuff/ReleaseNotesAndFolderList.pdf", " //ny-dc-03//IT-01"); try { printer.Print(); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } } }

Por mi vida no puedo hacer que esto funcione e imprimir un solo PDF. Cada vez que voy a imprimir, aparece el error "No se puede encontrar el archivo especificado". ¿Alguien tiene alguna idea si algo está mal con mi código? Estoy usando PDFSharp aquí ...


Esto puede estar indicando lo obvio, pero está acrobático en:

C: / Documents and Settings / mike.smith / Desktop / Adobe Reader 9.0.exe

Es solo que su nombre de usuario implica que su nombre no es Mike Smith.


Una observación, en la siguiente línea:

PdfFilePrinter.AdobeReaderPath = @"C://Documents and Settings//mike.smith//Desktop//Adobe Reader 9.0.exe";

Estás utilizando la "@" para escapar de la cadena y también escapar de las barras diagonales inversas. Elimine la "@" o use una sola barra invertida.

También asegúrese de que sea la ruta correcta a su EXE.

ACTUALIZACIÓN: si ha confirmado que tiene la ruta correcta a su EXE de Acrobat Reader, lo siguiente que debe ver es el parámetro "Nombre de la impresora" que está pasando al constructor PdfFilePrinter.

Está pasando " //ny-dc-03//IT-01" como el nombre de la impresora. Esto debe coincidir con el nombre de la impresora exactamente como aparece en la lista de Impresoras en Windows, no solo una impresora IP arbitraria.

Si esto es correcto, asegúrese de eliminar el espacio final: "//ny-dc-03//IT-01" .


Usted está pasando " //ny-dc-03//IT-01"

Creo que esto debería ser "////ny-dc-03//IT-01" o @"//ny-dc-03/IT-01"

No estoy seguro de si @"//ny-dc-03//IT-01" funcionará, pero "//ny-dc-03//IT-01" no puede funcionar ya que los nombres UNC comienzan con una doble barra diagonal inversa.