PDFs de impressão com PDFSharp

votos
6

Eu tenho o seguinte 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);
      }
    }
  }
}

Para a vida de mim eu não posso chegar a este trabalho e imprimir um único PDF. Sempre que eu vá para imprimir, eu recebo o erro Não é possível localizar o arquivo especificado. Alguém tem alguma idéia se algo está errado com o meu código ?? Estou usando PDFSharp aqui ...

Publicado 19/05/2009 em 16:27
fonte usuário
Em outras línguas...                            


3 respostas

votos
8

Uma observação, na seguinte linha:

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

Você está usando o "@" para escapar da corda e também escapar as barras invertidas. Remova o "@" ou usar uma única barra invertida.

Também certifique-se de que é o caminho correto para o seu EXE.

UPDATE: Se você tiver confirmado que você tem o caminho correto para o seu Acrobat Reader EXE, a próxima coisa a olhar é o parâmetro "Printer Name" que você está passando para o construtor PdfFilePrinter.

Você está passando " \\ny-dc-03\\IT-01"como o nome da impressora. Isso precisa corresponder ao nome de impressora exatamente como ele aparece na lista de impressoras no Windows, e não apenas uma impressora IP arbitrário.

Se isso é correto, certifique-se de remover o espaço à direita: "\\ny-dc-03\\IT-01".

Respondeu 19/05/2009 em 16:32
fonte usuário

votos
1

Você está passando " \\ny-dc-03\\IT-01"

Eu acho que isso deve ser "\\\\ny-dc-03\\IT-01"ou@"\\ny-dc-03\IT-01"

Não tenho certeza se @"\\ny-dc-03\\IT-01"vai funcionar, mas "\\ny-dc-03\\IT-01"não pode trabalhar como nomes UNC começar com uma barra invertida dupla.

Respondeu 25/08/2009 em 12:17
fonte usuário

votos
1

Este pode ser o óbvio, mas é acrobata em:

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

É apenas seu nome de usuário implica que o seu nome não é Mike Smith.

Respondeu 19/05/2009 em 16:31
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more