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);
}
}
}
}
0 comentarios:
Publicar un comentario