Foros del Web » Programación para mayores de 30 ;) » .NET »

Combinar PDF con Adobe Acrobat 8

Estas en el tema de Combinar PDF con Adobe Acrobat 8 en el foro de .NET en Foros del Web. Buenos días, el otro día inserté un nuevo tema sobre como reducir el tamaño de un PDF que generaba con la dll iTextSharp. No he ...
  #1 (permalink)  
Antiguo 07/06/2011, 03:12
 
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 51
Antigüedad: 12 años, 1 mes
Puntos: 1
Combinar PDF con Adobe Acrobat 8

Buenos días,

el otro día inserté un nuevo tema sobre como reducir el tamaño de un PDF que generaba con la dll iTextSharp. No he conseguido bajarle el tamaño, asi que he optado por generarlo de otra forma, en este caso con AdobeAcrobat, pero no consigo combinar los pdf, ¿alguién ha hecho alguna vez este proceso?

A continuación pongo el código que tengo hasta ahora, que me abre los dos archivos que quiero unir y me genera uno nuevo, pero no me los combina:

Código:
private void VMergePDF()
{
            string sDoc1 = "C:\\Pruebas PDF\\PDF1.pdf";
            string sDoc2 = "C:\\Pruebas PDF\\PDF2.pdf";

            CAcroApp myApp = new AcroAppClass();

            //Open PDF document from file
            AcroAVDoc AVDoc1 = new AcroAVDocClass();
            AVDoc1.Open(sDoc1, "");
            AcroPDDoc PDDoc1 = (AcroPDDoc)AVDoc1.GetPDDoc();
            int nPagesDoc1 = PDDoc1.GetNumPages();

            //Open PDF document from file
            AcroPDDoc PDDoc2 = new AcroPDDoc();
            PDDoc1.Open(sDoc2);
            int nPagesDoc2 = PDDoc2.GetNumPages();

            PDDoc1.InsertPages(nPagesDoc1 - 1, PDDoc2, 0, nPagesDoc2 - 1, 0);
            PDDoc2.Close();

            PDDoc1.Save(1, "C:\\Pruebas PDF\\Prueba test.pdf");
            PDDoc1.Close();

            myApp.CloseAllDocs();
            myApp.Exit();
}

Muchísimas gracias
  #2 (permalink)  
Antiguo 07/06/2011, 05:13
 
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 51
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Combinar PDF con Adobe Acrobat 8

Hola de nuevo,

aquí esta el código que si funciona:

Código:
string sDoc1 = "C:\\Pruebas PDF\\PDF1.pdf";
            string sDoc2 = "C:\\Pruebas PDF\\PDF2.pdf";

            CAcroApp myApp = new AcroAppClass();

            //Open PDF document from file
            AcroAVDoc AVDoc1 = new AcroAVDocClass();
            AVDoc1.Open(sDoc1, "");
            AcroPDDoc PDDoc1 = (AcroPDDoc)AVDoc1.GetPDDoc();
            int nPagesDoc1 = PDDoc1.GetNumPages();

            //Open PDF document from file
            AcroAVDoc AVDoc2 = new AcroAVDocClass();
            AVDoc2.Open(sDoc2, "");
            AcroPDDoc PDDoc2 = (AcroPDDoc)AVDoc2.GetPDDoc();
            int nPagesDoc2 = PDDoc2.GetNumPages();

            PDDoc1.InsertPages(2, PDDoc2, 0, 1, 0);
            PDDoc1.Save(1, "C:\\Pruebas PDF\\Prueba test.pdf");

            myApp.CloseAllDocs();
            myApp.Exit();
El problema que tengo ahora, es que necesito bajarle la calidad al nuevo pdf que he creado, pero no se como.

Gracias
  #3 (permalink)  
Antiguo 08/06/2011, 06:45
 
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 51
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Combinar PDF con Adobe Acrobat 8

Sigo contestándome yo misma

Para reducir el tamaño solo hay que cambiar el primer campo (flags) de la función Save. En mi caso, he optado la opción PDSaveCollectGarbage.
Puesto que la función Save sólo acepta el tipo de datos short, obtengo su valor de la siguiente forma:

Código:
short sFlag = (short)PDSaveFlags.PDSaveCollectGarbage;
y eso es lo que le paso a la función Save

Código:
bool bSave = PDDoc1.Save(sFlag, sNuevo);
Ahora estoy con otro problema, y es que al instalar el servicio en un windows server 2003 me está dando el siguiente error:

System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {85DE1C45-2C66-101B-B02E-04021C009402} failed due to the following error: 80080005.

Estoy intentando solucionarlo. Si alguien conoce este problema, agradecería me ayudara.

Un saludo
  #4 (permalink)  
Antiguo 08/06/2011, 09:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 36
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: Combinar PDF con Adobe Acrobat 8

deberian dejar este tema dentro de las FAQ. esta muy interesante.

Gracias por el tema Tesitina!

Saludos.

Etiquetas: acrobat, adobe, combinar, pdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:19.