USO DE IRONPDF

Cómo recortar archivos PDF en C#

Chipego
Chipego Kalinda
19 de abril, 2023
Actualizado 3 de marzo, 2024
Compartir:

Recortar y recortar páginas PDF es siempre una tarea difícil para los desarrolladores en C#. Dibujar un cuadro de recorte alrededor del área deseada en un documento PDF y luego guardar sólo esa parte no es sencillo. Afortunadamente, existe una solución en la biblioteca IronPDF for .NET en C#.

La biblioteca IronPDF .NET

IronPDF .NET PDF Library es una biblioteca de C# .NET que permite a los desarrolladores crear, editar y manipular archivos PDF. Es muy popular entre los desarrolladores de C# por su capacidad de generación de PDF, que les permite trabajar con archivos PDF sin tener instalado Adobe Acrobat. IronPDF for .NET también permite la conversión entre diferentes formatos como Conversión de HTML a PDF, Convertir URLs a PDF, y Conversión de imágenes a PDF.

También admite la adición de Encabezados y Pies de Página Personalizados, Firmas Digitales en PDFs, anotaciones y Agregar/Eliminar Adjuntos de PDFs, contraseñas de usuario y propietario, y otras opciones de seguridad. IronPDF cuenta con un rápido motor Chromium para una experiencia de renderizado superior. También proporciona Soporte completo para Multithreading y Capacidades Asíncronas.

Requisitos previos

Antes de comenzar, Visual Studio 2022 (la última versión) debe ser descargado e instalado. Visual Studio es necesario para crear aplicaciones en C#. La instalación configurará el entorno .NET, tras lo cual el sistema local estará listo para realizar un conversor de PDF a JPG. Puedes descargar Visual Studio en esta Página de Descargas de Visual Studio.

Instalación de IronPDF

Hay varias formas de instalar IronPDF:

  1. Puede descargar IronPDF desde la solución NuGet Package Manager en su proyecto C#, creado con Visual Studio. Acceda al Gestor de paquetes NuGet a través de Herramientas o haciendo clic con el botón derecho del ratón en el Explorador de soluciones. Busque el paquete IronPDF e instálelo.

  2. Otra forma de instalar IronPDF es descargándolo directamente desde la página de IronPDF en NuGet.

Recortar archivo PDF usando IronPDF en C#

El siguiente proceso paso a paso le ayudará a recortar una página PDF. No es sencillo, pero podemos recurrir a algunos métodos para lograrlo. ¡Comencemos!

Paso 1: Cargar documento PDF

Para cargar un archivo PDF desde una ubicación local en este proyecto, IronPDF ofrece un método FromFile presente en la clase PdfDocument. El siguiente ejemplo de código muestra cómo abrir un archivo PDF existente:

PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
Dim pdf As PdfDocument = PdfDocument.FromFile("Input.pdf")
$vbLabelText   $csharpLabel

El documento cargado es el siguiente:

Cómo recortar un archivo PDF en C#, Figura 1: Un archivo PDF con código de barras de ejemplo

Un archivo de código de barras PDF de muestra

Paso 2: Cargar una página específica de un documento PDF

Ahora que el archivo está abierto para edición, crea un objeto PdfDocument separado y almacena la página específica que necesita recortarse utilizando el método CopyPage. Basta con pasar el índice de la página que hay que recortar. Aquí, el código de ejemplo recortará la primera página del documento PDF.

PdfDocument loadedPage = pdfDocument.CopyPage(0);
PdfDocument loadedPage = pdfDocument.CopyPage(0);
Dim loadedPage As PdfDocument = pdfDocument.CopyPage(0)
$vbLabelText   $csharpLabel

Paso 3: Convertir la página PDF cargada en una imagen

El método Convertir Página PDF a Imagen de Alta Resolución proporciona la posibilidad de guardar la página del PDF en un archivo de imagen de alta resolución. El siguiente código ayuda a convertir la página seleccionada a una imagen para recortar.

loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
loadedPage.RasterizeToImageFiles("C:\Image\Page_to_be_Cropped.png")
$vbLabelText   $csharpLabel

Ahora la página se convertirá en un archivo de imagen. La salida es una imagen PNG de alta calidad.

Cómo recortar un archivo PDF en C#, Figura 2: El archivo de imagen PNG de alta calidad de salida

El archivo de imagen PNG de alta calidad de salida

Ahora, la página específica está separada del documento original y lista para ser recortada.

Paso 4: Recuperar las dimensiones de la página cargada

Para recortar el PDF, es necesario crear un cuadro de recorte con una anchura y una altura determinadas. Para este propósito, se creará un nuevo documento utilizando la clase ChromePdfRenderer. Ofrece la opción de personalizar el tamaño de página del PDF según las necesidades, y los datos se dividen uniformemente entre las páginas.

Antes de crear un ChromePdfRenderer, primero obtenga las dimensiones de la página cargada en el paso 2. Luego, use estas dimensiones mientras establece el tamaño de página personalizado para crear un cuadro de recorte. El siguiente ejemplo de código le ayudará a obtener la anchura y la altura de la página:

PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];
// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];
// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
Dim pages As PdfPagesCollection = loadedPage.Pages
Dim pdfPage As PdfPage = pages(0)
' Dimensions retrieved in mm
Dim width As Single = pdfPage.Width
Dim height As Single = pdfPage.Height
$vbLabelText   $csharpLabel

En primer lugar, obtén el número total de páginas en el archivo PDF cargado utilizando PdfPagesCollection. A continuación, pase esa página a una instancia de PdfPage para obtener los valores de dimensión de la página a partir de las propiedades Width y Height de la página. ¡Todo listo! Ahora, pasemos al siguiente paso para crear un cuadro de recorte personalizado.

Paso 5: Establecer el tamaño de página PDF personalizado

El siguiente código le ayudará a crear un tamaño de papel PDF personalizado que funcionará como un cuadro de recorte, para recortar el contenido en diferentes segmentos de página.

ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4);

pdfRenderer.RenderingOptions.ForcePaperSize = true;
ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4);

pdfRenderer.RenderingOptions.ForcePaperSize = true;
Dim pdfRenderer As New ChromePdfRenderer()
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4)

pdfRenderer.RenderingOptions.ForcePaperSize = True
$vbLabelText   $csharpLabel

En el código anterior, se crea un ChromePdfRenderer, que se utiliza para crear un nuevo documento PDF. Luego, el valor de la propiedad PdfPaperSize se establece en Custom. Por último, se establece un margen de página personalizado utilizando las dimensiones recuperadas en el paso 4.

Ajuste la anchura a la anchura de la página original y reduzca la altura en 1/4 de la longitud de la página original. Esto hace que la página funcione como una caja de medios con forma de rectángulo para el contenido.

Nota: Puede usar ForcePaperSize = true para asegurarse de que se aplique el tamaño personalizado. Para establecer márgenes personalizados, visite esta Guía para personalizar márgenes PDF.

Paso 6: Crear un nuevo documento utilizando HTML

Ahora, este último paso creará un nuevo documento utilizando el PDF de tamaño de página personalizado y la imagen guardada de la página cargada.

var croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", @"C:\Image\");
var croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", @"C:\Image\");
Dim croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", "C:\Image\")
$vbLabelText   $csharpLabel

Ahora guardemos el documento utilizando el método SaveAs.

croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

Salida

Cómo recortar un archivo PDF en C#, Figura 3: El archivo PDF recortado

El archivo PDF recortado

En la salida, puede ver que una sola imagen se divide ahora en cinco páginas con el cuadro de recorte personalizado creado. Puede copiar una página específica que necesite utilizando el siguiente código:

croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

Conclusión

En este artículo se muestra cómo recortar documentos PDF mediante la creación de un cuadro de recorte rectangular virtual en términos de páginas utilizando IronPDF for .NET Framework. El método RasterizeToImageFiles ayuda a convertir la página en una imagen que luego se utiliza para crear un documento PDF con precisión de píxeles.

IronPDF también proporciona otras herramientas PDF que pueden rotar páginas PDF, cambiar texto PDF, establecer márgenes, formatear PDFs, convertirlos y mucho más. Para obtener más información sobre IronPDF for .NET y acceder a funciones adicionales para manipular archivos PDF con IronPDF o cómo personalizar el tamaño del papel PDF.

La biblioteca de IronPDF .NET es gratuita para el desarrollo, pero necesita ser licenciada para uso comercial. Descargue la poderosa biblioteca IronPDF para .NET desde este IronPDF ZIP Download y pruébela.

Chipego
Ingeniero de software
Chipego tiene una habilidad natural para escuchar que le ayuda a comprender los problemas de los clientes y a ofrecer soluciones inteligentes. Se unió al equipo de Iron Software en 2023, después de estudiar una licenciatura en Tecnología de la Información. IronPDF e IronOCR son los dos productos en los que Chipego se ha centrado, pero su conocimiento de todos los productos crece día a día, a medida que encuentra nuevas formas de ayudar a los clientes. Disfruta de lo colaborativa que es la vida en Iron Software, con miembros del equipo de toda la empresa que aportan su variada experiencia para contribuir a soluciones eficaces e innovadoras. Cuando Chipego está lejos de su escritorio, a menudo se le puede encontrar disfrutando de un buen libro o jugando al fútbol.
< ANTERIOR
PDF Converter .NET (Tutorial para desarrolladores)
SIGUIENTE >
Cómo crear PDF en ASP .NET