▷ Código Ejemplo PDFSharp C# - Extraer Paginas en archivos PDF

La idea de este post es mostrar como podemos separar o extraer a partir de un archivo PDF las paginas de éste y crear cada una en un archivo PDF.

Para este ejemplo utilizaremos la libreria gratuita llamada PDFSharp, es un componente OpenSource y es desarrollada en Visual Studio C#.

La cual la podemos descargar a travez de la siguiente URL:
  • http://sourceforge.net/projects/pdfsharp/files/pdfsharp

Como separar paginas PDF en archivos con PDFSharp (C#)

Vamos al grano, para utilizar el siguiente código, cree un nuevo proyecto, por ejemplo Aplicación Windows Forms de C#. Dentro del proyecto agregue la referencia del componente descargado PdfSharp.dll

Agregamos los Using


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Captura_Fuid.Clases;
using System.IO;
using PdfSharp.Pdf.IO;
using PdfSharp.Pdf;

private void SplitPDF()
{
    string sPath;// = Directory.GetCurrentDirectory();
    string sNameFile = string.Empty;
    string sPathF = string.Empty;
    string Destino = string.Empty;
    string sPathLocal = string.Empty;

    if (dt.Rows.Count > 0)
    {
        //Ruta en donde quedaran los archivos PDF
        sPathLocal = ConfigurationManager.AppSettings["PathVisorFuid"].ToString();
        Destino = ConfigurationManager.AppSettings["PathDestino"].ToString();

        //Objeto que tiene el archivo de salida
        PdfSharp.Pdf.PdfDocument Outpdf = new PdfSharp.Pdf.PdfDocument();

        //objeto que contiene el archivo de entrada con todas las paginas
        PdfSharp.Pdf.PdfDocument Inputpdf = PdfReader.Open(Destino,                                      PdfDocumentOpenMode.Import);

        //Consulto cuantas paginas tiene el archivo
        int count = Inputpdf.PageCount;

        int Fila = 0;
        for (int idx = 0; idx < count; idx++)
        {
            Outpdf = new PdfSharp.Pdf.PdfDocument();
            //Se extrae la pagina
            PdfPage page = Inputpdf.Pages[idx];

            //Se agrega la pagina al objeto document de salida
            Outpdf.AddPage(page);
            Fila = idx + 1;

            //Para este ejemplo se arma el nmbre del archivo
            sNameFile = "Page_" + Fila + ".pdf";
            sPathF = sPathLocal + sPath + "/" + sNameFile;
            if (!File.Exists(sPathF))
            {
               Outpdf.Save(sPathF);
            }
        }
     }
}
Share:

0 comentarios:

Publicar un comentario