PDFページをプログラムでトリミングする C#

ページプロパティを取得する

PDFファイルの各ページには、幅、高さ、ブリード、クロップ、トリムボックスなどのいくつかのプロパティがあります。Aspose.PDFを使用すると、これらのプロパティにアクセスできます。

  • メディアボックス: メディアボックスは、最も大きなページボックスです。これは、文書がPostScriptまたはPDFに印刷されたときに選択されたページサイズ(例えばA4、A5、USレターなど)に対応します。言い換えれば、メディアボックスはPDF文書が表示または印刷されるメディアの物理的なサイズを決定します。
  • ブリードボックス: 文書にブリードがある場合、PDFにもブリードボックスがあります。ブリードは、ページの端を超えて延びる色(またはアートワーク)の量です。これは、文書が印刷されてサイズにカット(「トリム」)されたときに、インクがページの端まで届くことを保証するために使用されます。ページがトリムマークからわずかに外れてカットされても、ページに白いエッジは現れません。
  • トリムボックス: トリムボックスは、印刷およびトリミング後の文書の最終サイズを示します。
  • アートボックス: アートボックスは、文書内のページの実際の内容の周りに描かれたボックスです。このページボックスは、他のアプリケーションでPDF文書をインポートする際に使用されます。
  • クロップボックス: クロップボックスは、Adobe AcrobatでPDF文書が表示される「ページ」サイズです。通常の表示では、Adobe Acrobatではクロップボックスの内容のみが表示されます。これらのプロパティの詳細な説明については、Adobe.Pdf仕様書、特に10.10.1ページ境界を参照してください。
  • Page.Rect: メディアボックスとドロップボックスの交差点(一般的に見える長方形)です。以下の図はこれらのプロパティを示しています。 詳細については、このページをご覧ください。

以下のコードスニペットは、Aspose.PDF.Drawingライブラリでも動作します。

以下のスニペットは、ページをトリミングする方法を示しています:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CropPage()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Pages();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "CropPageInput.pdf"))
    {
        Console.WriteLine(document.Pages[1].CropBox);
        Console.WriteLine(document.Pages[1].TrimBox);
        Console.WriteLine(document.Pages[1].ArtBox);
        Console.WriteLine(document.Pages[1].BleedBox);
        Console.WriteLine(document.Pages[1].MediaBox);
        // Create new Box rectangle
        var newBox = new Rectangle(200, 220, 2170, 1520);
        document.Pages[1].CropBox = newBox;
        document.Pages[1].TrimBox = newBox;
        document.Pages[1].ArtBox = newBox;
        document.Pages[1].BleedBox = newBox;
        // Save PDF document
        document.Save(dataDir + "CropPage_out.pdf");  
    }
}

この例では、サンプルファイルをこちらで使用しました。最初に私たちのページは図1のように見えます。

変更後、ページは図2のように見えます。