Recortar páginas de PDF programáticamente en C#

Obtener Propiedades de la Página

Cada página en un archivo PDF tiene una serie de propiedades, como el ancho, alto, sangrado, caja de recorte y caja de corte. Aspose.PDF permite acceder a estas propiedades.

  • Caja de medios: La caja de medios es la caja de página más grande. Corresponde al tamaño de página (por ejemplo, A4, A5, Carta EE.UU., etc.) seleccionado cuando el documento se imprimió en PostScript o PDF. En otras palabras, la caja de medios determina el tamaño físico del medio en el que se muestra o imprime el documento PDF.
  • Caja de sangrado: Si el documento tiene sangrado, el PDF también tendrá una caja de sangrado. El sangrado es la cantidad de color (o arte) que se extiende más allá del borde de una página. Se utiliza para asegurarse de que cuando el documento se imprime y se corta a tamaño (“recortado”), la tinta llegue hasta el borde de la página. Incluso si la página se recorta mal - cortada ligeramente fuera de las marcas de corte - no aparecerán bordes blancos en la página.
  • Caja de corte: La caja de corte indica el tamaño final de un documento después de imprimirse y recortarse.
  • Caja de arte: La caja de arte es la caja dibujada alrededor del contenido real de las páginas en sus documentos.
  • Caja de arte: La caja de arte es la caja dibujada alrededor del contenido real de las páginas en tus documentos.
  • Caja de recorte: La caja de recorte es el tamaño de “página” en el que se muestra tu documento PDF en Adobe Acrobat. En la vista normal, solo se muestran los contenidos de la caja de recorte en Adobe Acrobat. Para descripciones detalladas de estas propiedades, lee la especificación de Adobe.Pdf, especialmente 10.10.1 Límites de página.
  • Page.Rect: la intersección (rectángulo comúnmente visible) de MediaBox y DropBox. La imagen a continuación ilustra estas propiedades. Para más detalles, por favor visita esta página.

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

El fragmento a continuación muestra cómo recortar la página:

public static void CropPagesPDF()
{
    var pdfDocument1 = new Aspose.Pdf.Document("crop_page.pdf");
    Console.WriteLine(pdfDocument1.Pages[1].CropBox);
    Console.WriteLine(pdfDocument1.Pages[1].TrimBox);
    Console.WriteLine(pdfDocument1.Pages[1].ArtBox);
    Console.WriteLine(pdfDocument1.Pages[1].BleedBox);
    Console.WriteLine(pdfDocument1.Pages[1].MediaBox);

    // Crear nuevo Rectángulo de Caja
    var newBox = new Rectangle(200, 220, 2170, 1520);
    pdfDocument1.Pages[1].CropBox = newBox;
    pdfDocument1.Pages[1].TrimBox = newBox;
    pdfDocument1.Pages[1].ArtBox = newBox;
    pdfDocument1.Pages[1].BleedBox = newBox;
   
    pdfDocument1.Save("crop_page_modified.pdf");           
}

En este ejemplo utilizamos un archivo de muestra aquí. Inicialmente nuestra página se ve como se muestra en la Figura 1. Figura 1. Página Recortada

Después del cambio, la página se verá como la Figura 2. Figura 2. Página Recortada