2011-02-10 39 views
5

Estoy buscando una manera económica de convertir por lotes 1300 documentos PDF a documentos XPS. Sé que puedo simplemente imprimirlos en ese formato, pero eso llevaría mucho tiempo. ¿Hay alguna manera de hacer esto programáticamente en C#?Lote Convertir PDF a XPS

+3

¿Desea convertir XPS a PDF o viceversa? El título y el texto no concuerdan :) –

+0

Si puede ** imprimir ** con éxito en XPS, solo hay un pequeño paso más para lograr también ** imprimir por lotes ** en XPS ... –

Respuesta

5

En función de la definición de bajo costo hay un par de opciones:

barata = menos de $ 1000:

Puede utilizar PDF2XPS por alrededor de $ 550: http://www.pdftron.com/pdf2xps/index.html

barata = " gratis ":

Puedes seguir las sugerencias en este thread para usar GhostScr ipt para convertir sus archivos PDF a archivos de imagen, entonces puede usar la clase XpsDocumentWriter para crear sus documentos.

3

Si sólo necesita hacerlo una vez, a continuación, una mezcla de código personalizado y soluciones existentes podría funcionar:

  1. Get FoxIt Reader gratis
  2. Para cada documento, ejecutar este comando:

    "C: \ Archivos de programa (x86) \ Foxit Software \ Foxit Reader \ Foxit Reader.exe" -t C: \ documents \ document1.pdf "Escritor de documentos de Microsoft XPS"

  3. Detecta cuando "Guardar el archivo como" cuadro de diálogo emergente (Tal vez un Process.GetProcessesByName contra aplwow64.exe en un contador de tiempo?) Y utilizar SendKeys para poblar el nombre del archivo y guardar

    Alternativamente, seguir el camino de p/invoke llamar a FindWindow y SendMessage directamente.