Stampa di PDF con PDFSharp

Ho il codice seguente:

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, eg: 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); } } } } 

Per la vita di me non riesco a farlo funzionare e stampare un singolo PDF. Ogni volta che vado a stampare, ottengo l’errore “Imansible trovare il file specificato”. Qualcuno ha qualche idea se qualcosa non va nel mio codice ?? Sto usando PDFSharp qui …

Un’osservazione, nella riga seguente:

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

Stai utilizzando “@” per uscire dalla stringa e anche sfuggire alle barre inverse. Rimuovere la “@” o utilizzare una singola barra rovesciata.

Assicurati anche che sia il percorso corretto per il tuo EXE.

AGGIORNAMENTO: Se hai confermato di avere il percorso corretto per il tuo EXE Acrobat Reader, la prossima cosa da guardare è il parametro “Printer Name” che stai passando al costruttore PdfFilePrinter.

Stai passando " \\ny-dc-03\\IT-01" come nome della stampante. Questo deve corrispondere esattamente al nome della stampante come appare nell’elenco delle stampanti in Windows, non solo a una stampante IP arbitraria.

Se ciò è corretto, assicurarsi di rimuovere lo spazio finale: "\\ny-dc-03\\IT-01" .

Questo potrebbe essere ovvio ma è acrobato in:

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

È solo il tuo nome utente che implica che il tuo nome non è Mike Smith.

Stai passando " \\ny-dc-03\\IT-01"

Penso che questo dovrebbe essere "\\\\ny-dc-03\\IT-01" o @"\\ny-dc-03\IT-01"

Non sono sicuro se @"\\ny-dc-03\\IT-01" funzionerà, ma "\\ny-dc-03\\IT-01" non può funzionare poiché i nomi UNC iniziano con una doppia barra rovesciata.