C# はどのように1つのPDFページを2ページまたは複数のページに分割します

PDFドキュメントを複数のPDFとして分割するほか、PDFページを2つまたは複数のページに分割することもある。この文章をどのようにして、Cを使用して、1つのPDFページを横と縦に2ページまたは複数のページに分割することを紹介します。

本文はPDFコンポーネントを使用する：[Spire.PDF for .NET](https://www.e-iceblue.com/Download/download-pdf-for-net-now.html)

元PDFページは以下の通り：
![PDF.png](https://qiita-image-store.s3.amazonaws.com/0/278784/44a5e177-3d93-abe7-958b-1dbb363b9b99.png)

横取り分けPDF

```
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
 
namespace SplitPDFPage
{
    class Program
    {
        static void Main(string[] args)
        {
            // PDFドキュメントをロードする
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("Sample.pdf");
 
            //第1ページを取得
            PdfPageBase page = pdf.Pages[0];
 
            //新しいPDFドキュメントを作成
            PdfDocument newPdf = new PdfDocument();
 
            //新規作成したPDFドキュメントのサイド距離を削除
            newPdf.PageSettings.Margins.All = 0;
 
            //新しいPDF文書を新設するページの幅は、元PDFドキュメントの第1ページのページ幅に等しい。高さは、元PDFドキュメント第1ページのページの高さに等しい
            newPdf.PageSettings.Width = page.Size.Width;
            newPdf.PageSettings.Height = page.Size.Height / 2;
 
            //新しいページを追加したPDFドキュメントを追加
            PdfPageBase newPage = newPdf.Pages.Add();
 
            // ページ内容が満了した後に自動的にページを分けます
            PdfTextLayout format = new PdfTextLayout();
            format.Break = PdfLayoutBreakType.FitPage;
            format.Layout = PdfLayoutType.Paginate;
 
            //オリジナルPDFドキュメントの第1ページの内容を新規PDFのページに描きます
            page.CreateTemplate().Draw(newPage, new PointF(0, 0), format);
 
            //ファイルを保存する
            newPdf.SaveToFile("HorizontallySplit.pdf");
 
            //閉鎖する
            newPdf.Close();
            pdf.Close();
        }
    }
}
```
2ページの横を横に分解する：
![横向拆分PDF.png](https://qiita-image-store.s3.amazonaws.com/0/278784/eac15e5d-181f-edef-0bea-ff63ac0d01b8.png)
縦割りPDF

```
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
 
namespace SplitPDFPage
{
    class Program
    {
        static void Main(string[] args)
        {
            // PDFドキュメントをロードする
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("Sample.pdf");
 
            //第1ページを取得
            PdfPageBase page = pdf.Pages[0];
 
            PdfDocument newPdf = new PdfDocument();
            newPdf.PageSettings.Margins.All = 0;
 
            //新しくPDFドキュメントを作成するページの幅は、元PDFドキュメントの第1ページのページ幅の半分に等しい。高さは、元PDFドキュメント第1ページのページの高さに等しい
            newPdf.PageSettings.Width = page.Size.Width / 2;
            newPdf.PageSettings.Height = page.Size.Height;
 
            //新しいページを追加したPDFドキュメントを追加
            PdfPageBase newPage = newPdf.Pages.Add();
 
            
            PdfTextLayout format = new PdfTextLayout();
            format.Break = PdfLayoutBreakType.FitPage;
            format.Layout = PdfLayoutType.Paginate;
 
             page.CreateTemplate().Draw(newPage, new PointF(0, 0), format);
 
            //ファイルを保存する
            newPdf.SaveToFile("VerticallySplit.pdf");
 
            //閉鎖する
            newPdf.Close();
            pdf.Close();         
        }
    }
}
```
縦割り2ページの効果：
![纵向拆分PDF.png](https://qiita-image-store.s3.amazonaws.com/0/278784/9559da68-432f-db4e-8211-3dbfe2623555.png)